read-only demo

Videos 2e9ANoOEn28

What if the harness mattered more than the model? - Aditya Bhargava, Etsy

index_state ready data_status ok

AI Engineer· published 2026-07-07· 0:32:03· en-US· indexed 2026-08-11 04:57

Open on YouTube

Scene timeline

  1. Shot 0, 0:00 to 0:25, 1 of 1 keyframes kept
  2. Shot 1, 0:25 to 0:50, 0 of 1 keyframes kept
  3. Shot 2, 0:50 to 0:55, 1 of 1 keyframes kept
  4. Shot 3, 0:55 to 1:26, 0 of 1 keyframes kept
  5. Shot 4, 1:26 to 1:28, 0 of 1 keyframes kept
  6. Shot 5, 1:28 to 1:33, 1 of 1 keyframes kept
  7. Shot 6, 1:33 to 1:44, 0 of 1 keyframes kept
  8. Shot 7, 1:44 to 2:23, 0 of 1 keyframes kept
  9. Shot 8, 2:23 to 2:43, 0 of 1 keyframes kept
  10. Shot 9, 2:43 to 3:23, 0 of 1 keyframes kept
  11. Shot 10, 3:23 to 3:52, 0 of 1 keyframes kept
  12. Shot 11, 3:52 to 4:20, 0 of 1 keyframes kept
  13. Shot 12, 4:20 to 4:49, 0 of 1 keyframes kept
  14. Shot 13, 4:49 to 5:18, 0 of 1 keyframes kept
  15. Shot 14, 5:18 to 5:46, 0 of 1 keyframes kept
  16. Shot 15, 5:46 to 5:55, 0 of 1 keyframes kept
  17. Shot 16, 5:55 to 6:26, 1 of 1 keyframes kept
  18. Shot 17, 6:26 to 6:56, 0 of 1 keyframes kept
  19. Shot 18, 6:56 to 7:27, 1 of 1 keyframes kept
  20. Shot 19, 7:27 to 7:30, 1 of 1 keyframes kept
  21. Shot 20, 7:30 to 7:43, 0 of 1 keyframes kept
  22. Shot 21, 7:43 to 7:47, 1 of 1 keyframes kept
  23. Shot 22, 7:47 to 7:54, 0 of 1 keyframes kept
  24. Shot 23, 7:54 to 8:12, 0 of 1 keyframes kept
  25. Shot 24, 8:12 to 8:18, 0 of 1 keyframes kept
  26. Shot 25, 8:18 to 8:19, 0 of 1 keyframes kept
  27. Shot 26, 8:19 to 8:24, 1 of 1 keyframes kept
  28. Shot 27, 8:24 to 8:28, 0 of 1 keyframes kept
  29. Shot 28, 8:28 to 8:44, 0 of 1 keyframes kept
  30. Shot 29, 8:44 to 8:48, 0 of 1 keyframes kept
  31. Shot 30, 8:48 to 8:49, 0 of 1 keyframes kept
  32. Shot 31, 8:49 to 8:55, 1 of 1 keyframes kept
  33. Shot 32, 8:55 to 9:00, 0 of 1 keyframes kept
  34. Shot 33, 9:00 to 9:05, 1 of 1 keyframes kept
  35. Shot 34, 9:05 to 9:11, 0 of 1 keyframes kept
  36. Shot 35, 9:11 to 9:16, 1 of 1 keyframes kept
  37. Shot 36, 9:16 to 9:17, 1 of 1 keyframes kept
  38. Shot 37, 9:17 to 9:24, 0 of 1 keyframes kept
  39. Shot 38, 9:24 to 9:27, 0 of 1 keyframes kept
  40. Shot 39, 9:27 to 9:30, 1 of 1 keyframes kept
  41. Shot 40, 9:30 to 9:31, 0 of 1 keyframes kept
  42. Shot 41, 9:31 to 9:36, 0 of 1 keyframes kept
  43. Shot 42, 9:36 to 9:45, 0 of 1 keyframes kept
  44. Shot 43, 9:45 to 9:53, 0 of 1 keyframes kept
  45. Shot 44, 9:53 to 9:55, 1 of 1 keyframes kept
  46. Shot 45, 9:55 to 9:57, 1 of 1 keyframes kept
  47. Shot 46, 9:57 to 10:24, 0 of 1 keyframes kept
  48. Shot 47, 10:24 to 10:28, 1 of 1 keyframes kept
  49. Shot 48, 10:28 to 10:30, 0 of 1 keyframes kept
  50. Shot 49, 10:30 to 10:34, 0 of 1 keyframes kept
  51. Shot 50, 10:34 to 11:06, 0 of 1 keyframes kept
  52. Shot 51, 11:06 to 11:11, 0 of 1 keyframes kept
  53. Shot 52, 11:11 to 11:15, 1 of 1 keyframes kept
  54. Shot 53, 11:15 to 11:23, 1 of 1 keyframes kept
  55. Shot 54, 11:23 to 11:25, 0 of 1 keyframes kept
  56. Shot 55, 11:25 to 11:26, 0 of 1 keyframes kept
  57. Shot 56, 11:26 to 11:45, 1 of 1 keyframes kept
  58. Shot 57, 11:45 to 11:50, 1 of 1 keyframes kept
  59. Shot 58, 11:50 to 12:22, 0 of 1 keyframes kept
  60. Shot 59, 12:22 to 12:32, 0 of 1 keyframes kept
  61. Shot 60, 12:32 to 12:36, 0 of 1 keyframes kept
  62. Shot 61, 12:36 to 12:44, 1 of 1 keyframes kept
  63. Shot 62, 12:44 to 12:49, 0 of 1 keyframes kept
  64. Shot 63, 12:49 to 12:54, 1 of 1 keyframes kept
  65. Shot 64, 12:54 to 12:55, 0 of 1 keyframes kept
  66. Shot 65, 12:55 to 13:11, 0 of 1 keyframes kept
  67. Shot 66, 13:11 to 13:15, 0 of 1 keyframes kept
  68. Shot 67, 13:15 to 13:18, 1 of 1 keyframes kept
  69. Shot 68, 13:18 to 13:22, 0 of 1 keyframes kept
  70. Shot 69, 13:22 to 13:31, 1 of 1 keyframes kept
  71. Shot 70, 13:31 to 13:36, 0 of 1 keyframes kept
  72. Shot 71, 13:36 to 13:45, 0 of 1 keyframes kept
  73. Shot 72, 13:45 to 13:52, 1 of 1 keyframes kept
  74. Shot 73, 13:52 to 13:54, 0 of 1 keyframes kept
  75. Shot 74, 13:54 to 14:29, 0 of 1 keyframes kept
  76. Shot 75, 14:29 to 14:32, 1 of 1 keyframes kept
  77. Shot 76, 14:32 to 14:45, 0 of 1 keyframes kept
  78. Shot 77, 14:45 to 14:50, 0 of 1 keyframes kept
  79. Shot 78, 14:50 to 14:58, 0 of 1 keyframes kept
  80. Shot 79, 14:58 to 15:02, 0 of 1 keyframes kept
  81. Shot 80, 15:02 to 15:03, 0 of 1 keyframes kept
  82. Shot 81, 15:03 to 15:05, 0 of 1 keyframes kept
  83. Shot 82, 15:05 to 15:46, 0 of 1 keyframes kept
  84. Shot 83, 15:46 to 16:02, 0 of 1 keyframes kept
  85. Shot 84, 16:02 to 16:06, 1 of 1 keyframes kept
  86. Shot 85, 16:06 to 16:12, 1 of 1 keyframes kept
  87. Shot 86, 16:12 to 16:15, 1 of 1 keyframes kept
  88. Shot 87, 16:15 to 16:21, 1 of 1 keyframes kept
  89. Shot 88, 16:21 to 16:25, 1 of 1 keyframes kept
  90. Shot 89, 16:25 to 16:42, 0 of 1 keyframes kept
  91. Shot 90, 16:42 to 16:44, 1 of 1 keyframes kept
  92. Shot 91, 16:44 to 17:11, 1 of 1 keyframes kept
  93. Shot 92, 17:11 to 17:23, 0 of 1 keyframes kept
  94. Shot 93, 17:23 to 17:33, 0 of 1 keyframes kept
  95. Shot 94, 17:33 to 17:35, 1 of 1 keyframes kept
  96. Shot 95, 17:35 to 17:37, 1 of 1 keyframes kept
  97. Shot 96, 17:37 to 18:04, 0 of 1 keyframes kept
  98. Shot 97, 18:04 to 18:05, 0 of 1 keyframes kept
  99. Shot 98, 18:05 to 18:10, 0 of 1 keyframes kept
  100. Shot 99, 18:10 to 18:16, 1 of 1 keyframes kept
  101. Shot 100, 18:16 to 18:34, 0 of 1 keyframes kept
  102. Shot 101, 18:34 to 18:42, 1 of 1 keyframes kept
  103. Shot 102, 18:42 to 18:56, 1 of 1 keyframes kept
  104. Shot 103, 18:56 to 19:04, 1 of 1 keyframes kept
  105. Shot 104, 19:04 to 19:17, 0 of 1 keyframes kept
  106. Shot 105, 19:17 to 19:19, 0 of 1 keyframes kept
  107. Shot 106, 19:19 to 19:26, 0 of 1 keyframes kept
  108. Shot 107, 19:26 to 19:33, 0 of 1 keyframes kept
  109. Shot 108, 19:33 to 19:38, 0 of 1 keyframes kept
  110. Shot 109, 19:38 to 19:42, 1 of 1 keyframes kept
  111. Shot 110, 19:42 to 19:47, 0 of 1 keyframes kept
  112. Shot 111, 19:47 to 19:50, 1 of 1 keyframes kept
  113. Shot 112, 19:50 to 19:54, 1 of 1 keyframes kept
  114. Shot 113, 19:54 to 19:55, 0 of 1 keyframes kept
  115. Shot 114, 19:55 to 20:00, 1 of 1 keyframes kept
  116. Shot 115, 20:00 to 20:03, 0 of 1 keyframes kept
  117. Shot 116, 20:03 to 20:06, 0 of 1 keyframes kept
  118. Shot 117, 20:06 to 20:08, 0 of 1 keyframes kept
  119. Shot 118, 20:08 to 20:12, 1 of 1 keyframes kept
  120. Shot 119, 20:12 to 20:13, 0 of 1 keyframes kept
  121. Shot 120, 20:13 to 20:17, 0 of 1 keyframes kept
  122. Shot 121, 20:17 to 20:26, 1 of 1 keyframes kept
  123. Shot 122, 20:26 to 20:49, 0 of 1 keyframes kept
  124. Shot 123, 20:49 to 21:26, 0 of 1 keyframes kept
  125. Shot 124, 21:26 to 21:51, 0 of 1 keyframes kept
  126. Shot 125, 21:51 to 21:55, 0 of 1 keyframes kept
  127. Shot 126, 21:55 to 21:59, 0 of 1 keyframes kept
  128. Shot 127, 21:59 to 22:07, 0 of 1 keyframes kept
  129. Shot 128, 22:07 to 22:38, 0 of 1 keyframes kept
  130. Shot 129, 22:38 to 22:43, 1 of 1 keyframes kept
  131. Shot 130, 22:43 to 23:08, 1 of 1 keyframes kept
  132. Shot 131, 23:08 to 23:11, 0 of 1 keyframes kept
  133. Shot 132, 23:11 to 23:13, 1 of 1 keyframes kept
  134. Shot 133, 23:13 to 23:21, 0 of 1 keyframes kept
  135. Shot 134, 23:21 to 23:26, 1 of 1 keyframes kept
  136. Shot 135, 23:26 to 23:27, 1 of 1 keyframes kept
  137. Shot 136, 23:27 to 23:31, 1 of 1 keyframes kept
  138. Shot 137, 23:31 to 23:43, 0 of 1 keyframes kept
  139. Shot 138, 23:43 to 23:45, 1 of 1 keyframes kept
  140. Shot 139, 23:45 to 23:47, 1 of 1 keyframes kept
  141. Shot 140, 23:47 to 23:49, 1 of 1 keyframes kept
  142. Shot 141, 23:49 to 24:03, 1 of 1 keyframes kept
  143. Shot 142, 24:03 to 24:04, 0 of 1 keyframes kept
  144. Shot 143, 24:04 to 24:06, 1 of 1 keyframes kept
  145. Shot 144, 24:06 to 24:09, 0 of 1 keyframes kept
  146. Shot 145, 24:09 to 24:12, 0 of 1 keyframes kept
  147. Shot 146, 24:12 to 24:15, 0 of 1 keyframes kept
  148. Shot 147, 24:15 to 24:21, 1 of 1 keyframes kept
  149. Shot 148, 24:21 to 24:52, 0 of 1 keyframes kept
  150. Shot 149, 24:52 to 25:23, 1 of 1 keyframes kept
  151. Shot 150, 25:23 to 25:48, 0 of 1 keyframes kept
  152. Shot 151, 25:48 to 25:54, 1 of 1 keyframes kept
  153. Shot 152, 25:54 to 25:57, 0 of 1 keyframes kept
  154. Shot 153, 25:57 to 26:02, 1 of 1 keyframes kept
  155. Shot 154, 26:02 to 26:30, 0 of 1 keyframes kept
  156. Shot 155, 26:30 to 26:35, 1 of 1 keyframes kept
  157. Shot 156, 26:35 to 26:37, 0 of 1 keyframes kept
  158. Shot 157, 26:37 to 26:39, 1 of 1 keyframes kept
  159. Shot 158, 26:39 to 26:40, 1 of 1 keyframes kept
  160. Shot 159, 26:40 to 26:43, 0 of 1 keyframes kept
  161. Shot 160, 26:43 to 26:45, 1 of 1 keyframes kept
  162. Shot 161, 26:45 to 26:51, 0 of 1 keyframes kept
  163. Shot 162, 26:51 to 26:52, 0 of 1 keyframes kept
  164. Shot 163, 26:52 to 26:54, 0 of 1 keyframes kept
  165. Shot 164, 26:54 to 26:57, 0 of 1 keyframes kept
  166. Shot 165, 26:57 to 27:19, 1 of 1 keyframes kept
  167. Shot 166, 27:19 to 27:23, 1 of 1 keyframes kept
  168. Shot 167, 27:23 to 27:26, 0 of 1 keyframes kept
  169. Shot 168, 27:26 to 27:27, 0 of 1 keyframes kept
  170. Shot 169, 27:27 to 27:30, 1 of 1 keyframes kept
  171. Shot 170, 27:30 to 27:33, 1 of 1 keyframes kept
  172. Shot 171, 27:33 to 27:40, 1 of 1 keyframes kept
  173. Shot 172, 27:40 to 27:42, 1 of 1 keyframes kept
  174. Shot 173, 27:42 to 27:45, 1 of 1 keyframes kept
  175. Shot 174, 27:45 to 27:46, 1 of 1 keyframes kept
  176. Shot 175, 27:46 to 27:49, 1 of 1 keyframes kept
  177. Shot 176, 27:49 to 27:52, 0 of 1 keyframes kept
  178. Shot 177, 27:52 to 28:03, 0 of 1 keyframes kept
  179. Shot 178, 28:03 to 28:31, 0 of 1 keyframes kept
  180. Shot 179, 28:31 to 29:00, 0 of 1 keyframes kept
  181. Shot 180, 29:00 to 29:28, 0 of 1 keyframes kept
  182. Shot 181, 29:28 to 29:58, 0 of 1 keyframes kept
  183. Shot 182, 29:58 to 30:27, 0 of 1 keyframes kept
  184. Shot 183, 30:27 to 30:57, 0 of 1 keyframes kept
  185. Shot 184, 30:57 to 31:26, 0 of 1 keyframes kept
  186. Shot 185, 31:26 to 31:56, 0 of 1 keyframes kept
  187. Shot 186, 31:56 to 32:03, 1 of 1 keyframes kept

187 shot(s).

keyframes kept every frame deduplicated

What was stored

cues
318
whisperx 318
chunks
56
from 318 cues
keyframes
74
kept of 187 captured
frames with text
74
1,239 lines read
chapters
0
from the source metadata
keyframe bytes
19.1 MB
word timings on 318 cues

Provenance

Each pipeline stage, its state and the model that produced it
stage state model started took
fetch done 2026-08-11 04:51 1m 32s
stt done 2026-08-11 04:53 31s
chunk done 2026-08-11 04:53 0s
text_embed done 2026-08-11 04:53 1s
keyframe done 2026-08-11 04:53 2m 36s
ocr done 2026-08-11 04:56 43s
frame_embed done 2026-08-11 04:57 10s

Frames, and what the machine read

  • 0:22 #0 done13 line(s)

    shot 0·sharpness 394.7

    1. slides0.99
    2. -bash1.00
    3. 110.61
    4. slides0.99
    5. N20.61
    6. -bash1.00
    7. 1630.68
    8. About me1.00
    9. • Staff engineer at Etsy0.95
    10. Also Etsy's ICInitiative Lead for Agentic Commerce0.99
    11. Wrote GrokkingAlgorithms, an illustrated book on algorithms1.00
    12. Blog at ducktyped.org0.97
    13. Aditya Bhargava What if the harness mattered more than the model?0.99
  • 0:35 #1 skipped

    shot 1·duplicate of #0

  • 0:54 #2 done4 line(s)

    shot 2·sharpness 692.7

    1. , that you can keep the harness simple. Just give the model a1.00
    2. reliant on fancy proprietary models0.98
    3. open source models that can be run locally?0.99
    4. Y0.78
  • 1:05 #3 skipped

    shot 3·duplicate of #0

  • 1:27 #4 skipped

    shot 4·duplicate of #0

  • 1:30 #5 done4 line(s)

    shot 5·sharpness 563.7

    1. roprietarymodels1.00
    2. that can be run locally?0.98
    3. hat we get the performance of a cutting edge model through0.99
    4. X0.59
  • 1:41 #6 skipped

    shot 6·duplicate of #0

  • 2:00 #7 skipped

    shot 7·duplicate of #0

  • 2:35 #8 skipped

    shot 8·duplicate of #0

  • 3:03 #9 skipped

    shot 9·duplicate of #0

  • 3:34 #10 skipped

    shot 10·duplicate of #0

  • 4:11 #11 skipped

    shot 11·duplicate of #0

  • 4:32 #12 skipped

    shot 12·duplicate of #0

  • 5:14 #13 skipped

    shot 13·duplicate of #0

  • 5:32 #14 skipped

    shot 14·duplicate of #0

  • 5:53 #15 skipped

    shot 15·duplicate of #0

  • 5:59 #16 done15 line(s)

    shot 16·sharpness 667.9

    1. slides0.99
    2. -bash1.00
    3. 1010.55
    4. slides0.91
    5. 320.77
    6. -bash1.00
    7. 2e30.62
    8. Rest of this talk: Lets build a coding agent in Agency0.99
    9. We'll see the agent evolve over 7 examples0.99
    10. ● Same model, same task, different harness each time0.98
    11. We'll see the harness improve the agent's performance over time0.99
    12. Goals1.00
    13. Understand thebasics of building a harness1.00
    14. ● Learn about agent safety0.95
    15. Aditya Bhargava What if the harness mattered more than the model?0.98
  • 6:32 #17 skipped

    shot 17·duplicate of #0

  • 7:11 #18 done15 line(s)

    shot 18·sharpness 673.2

    1. slides1.00
    2. -bash1.00
    3. 110.58
    4. slides1.00
    5. 320.82
    6. -bash1.00
    7. 230.70
    8. Rest of this talk: Lets build a coding agent in Agency1.00
    9. We'll see the agent evolve over 7 examples0.99
    10. ● Same model, same task, different harness each time0.98
    11. We'll see the harness improve the agent's performance over time0.99
    12. Goals1.00
    13. Understand the basics of building a harness0.99
    14. Learn about agent safety0.98
    15. Aditya Bhargava What if the harness mattered more than the model?0.99
  • 7:29 #19 done6 line(s)

    shot 19·sharpness 1130.1

    1. Same model, same task, different harness each time0.99
    2. We'll see the harness improve the agent's performanc1.00
    3. Goals1.00
    4. Understand the basics of building a harness1.00
    5. Learn about agent safety0.99
    6. Intro to more advanced concepts like subagents and s0.99
  • 7:35 #20 skipped

    shot 20·duplicate of #0

  • 7:45 #21 done11 line(s)

    shot 21·sharpness 1365.3

    1. ne bug:0.98
    2. demo/median.py1.00
    3. def median(numbers):0.99
    4. ordered = sorted(numbers)0.98
    5. middle = len(ordered)// 20.95
    6. returnordered[middle]1.00
    7. 1 # wrongfor even-length lists!0.96
    8. demo/test_median.py1.00
    9. fails:1.00
    10. AssertionError: median() returned 3, expected 2.50.98
    11. ame model, same task for every example. Only the harness chang1.00
  • 7:47 #22 skipped

    shot 22·duplicate of #0

  • 8:04 #23 skipped

    shot 23·duplicate of #0

Transcript

318 cues· 4,221 words· 22,314 chars

  1. 0:01 Hi, everyone.
  2. 0:02 My name is Audit, pronounced Audit like a text, Audit.
  3. 0:06 And I'm here to talk to you about what if the harness mattered more than the model?
  4. 0:11 A little bit about me first.
  5. 0:13 I'm a staff engineer at Etsy.
  6. 0:15 I'm also Etsy's IC Initiative Lead for Agentic Commerce.
  7. 0:18 I wrote Crocking Algorithms, which is an illustrated book on algorithms.
  8. 0:22 And I also do illustrated posts on DuckTyped.org.
  9. 0:29 And I want to talk to you about what if the harness mattered more than the model, by which I mean, what if we should be paying more attention to building expertise in harnesses?
  10. 0:45 And my controversial take here is I hear a lot of people say, oh, the models are so good that you can just keep the harness simple, just give the model a few tools and it'll do the rest.
  11. 0:57 And I've been hearing this so often that it has now started becoming the wisdom of the tech industry.
  12. 1:07 To which my answer is yes, but that's moving in the wrong direction because that is making us reliant on fancy proprietary models that can't be run locally.
  13. 1:20 So what if we instead talked about the other direction?
  14. 1:23 What if we focused on open source models that can be run locally?
  15. 1:28 What if we focused on building a harness that is so good that we can get the performance of a cutting edge model through a local open source model?
  16. 1:37 So what if the harness mattered more than the model?
  17. 1:41 What if our focus should be on the harness?
  18. 1:45 How much does the harness matter?
  19. 1:47 This is something I have been researching a lot in my spare time.
  20. 1:53 There's a really interesting paper that talks about harness bench, which is a benchmark for harnesses, which is something we haven't seen a lot of yet.
  21. 2:04 It's got 106 tasks.
  22. 2:07 It's testing these different models and different harnesses.
  23. 2:10 But the point is that it's running the same setup, it's doing the same evaluation, same model, but testing different harnesses.
  24. 2:22 And the results are pretty interesting.
  25. 2:25 So scores range from 52.4% to 76.2%.
  26. 2:27 So more than a 20-point difference.
  27. 2:33 and only the harness changed.
  28. 2:37 And the really interesting thing is that for weaker models, the harness matters more.
  29. 2:44 If the harness matters more than the model, that's great news.
  30. 2:48 Because if the model matters more, then we're dependent on a handful of companies who are able to build and train these models.
  31. 2:58 But if a good harness can compensate and can make a weaker model perform better, then we can build our own harnesses.
  32. 3:07 And that's something that any of us can do.
  33. 3:09 And we don't have to depend on paid models.
  34. 3:14 So I have been spending a lot of time and doing a lot of research specifically into what would it take to build a really good harness.
  35. 3:25 And
  36. 3:29 I realized early on that none of the existing tools or frameworks were able to do what I wanted.
  37. 3:37 And I realized that what was actually needed was a language level solution.
  38. 3:43 So this is my other controversial take in this talk is I think building a good harness actually requires language level support.
  39. 3:53 And this is kind of where my research has gone in the last six months, and I've spent a good part of that six months building a new language called Agency, which is a language for building agents.
  40. 4:12 and just to talk about the terminology there real quick because the terms agent and harness aren't super crisp in the industry yet they're not super well defined um but in this talk
  41. 4:26 I'll kind of use them interchangeably.
  42. 4:28 But when I talk about the agent, I really mean the harness and the model.
  43. 4:33 So if you take Cloud Code, for example, Cloud Code is an agent.
  44. 4:38 It uses Opus, which is the model, and then everything else is the harness.
  45. 4:45 But when we talk about agency, it's really for building agents, but the thing it's providing is the harness.
  46. 4:55 um agency is really good uh you know it's still new building a language is a lot of work and it's only six months in uh but i love this quote by alan k simple things should be simple complex things should be possible
  47. 5:13 That's something I love about agency is that I think when people build agents, there are a lot of primitives, a lot of things that every agent will need to be able to do, and those things should be simple to do.
  48. 5:33 And there's a lot of complex things that we want to be able to do with agents.
  49. 5:38 And it should be possible to do those things in the framework of your choice.
  50. 5:43 And with agency, it is possible.

Open at this second