diff --git a/src/Yesod/Transloadit.hs b/src/Yesod/Transloadit.hs
--- a/src/Yesod/Transloadit.hs
+++ b/src/Yesod/Transloadit.hs
@@ -89,6 +89,8 @@
   _sslUrl    :: Text
 } deriving (Show)
 
+$(makeLenses ''StepResult)
+
 data ParamsError = UnknownError
 type ParamsResult = Either ParamsError TransloaditParams
 
@@ -132,13 +134,14 @@
   master <- getYesod
   let root = transloaditRoot master
       signature = sign t
+      divId = mconcat ["#", formIdent]
   addScriptEither $ urlJqueryJs master
   addScriptRemote $ root <> "jquery.transloadit2-v2-latest.js"
   toWidget [julius|
      $(function() {
-      $('##{rawJS formIdent}').transloadit({
+      $(#{toJSON divId}).transloadit({
         wait : true,
-        params : JSON.parse('#{(rawJS . encodeParams) t}')
+        params : JSON.parse(#{(toJSON . encodeParams) t})
       });
     });
   |]
@@ -178,6 +181,9 @@
 -- | Helper method to pull the nth @StepResult@ for a given key from the Transloadit response
 nthStepResult :: AsValue s => Int -> Text -> Maybe s -> Maybe StepResult
 nthStepResult _ _ Nothing = Nothing
-nthStepResult i k (Just u) = join $ u ^? AL.key "results" . AL.key k . nth i . _Object . _stepResult
-
-$(makeLenses ''StepResult)
+nthStepResult i k (Just u) = u ^? AL.key "results"
+                             . AL.key k
+                             . nth i
+                             . _Object
+                             . _stepResult
+                             & join
diff --git a/test/Tests.hs b/test/Tests.hs
--- a/test/Tests.hs
+++ b/test/Tests.hs
@@ -59,7 +59,7 @@
   |]
   return ()
 
-sampleDict :: Map Text (Map Text [(Map Text Text)])
+sampleDict :: Map Text (Map Text [Map Text Text])
 sampleDict = fromList [("results", results)]
              where results = fromList [("foo", stepResults)]
                    stepResults = [fromList [("id","<id>"), ("name", "n"), ("basename", "b"), ("ext", "e"), ("mime", "m"), ("field", "f"), ("url", "u"), ("ssl_url", "<ssl_url>")]]
@@ -71,7 +71,7 @@
   ydescribe "Form generation" $ do
     yit "adds correct Transloadit params" $ do
       get HomeR
-      bodyContains "params : JSON.parse('{\"auth\":{\"expires\":\"1995/10/10 01:00:10+00:00\",\"key\":\"my_key\"},\"template_id\":\"my_template\"}')"
+      bodyContains "params : JSON.parse(\"{\\\"auth\\\":{\\\"expires\\\":\\\"1995/10/10 01:00:10+00:00\\\",\\\"key\\\":\\\"my_key\\\"},\\\"template_id\\\":\\\"my_template\\\"}\")"
     yit "computes the correct signature" $ do
       get HomeR
       bodyContains "<input type=\"hidden\" name=\"signature\" value=\"ad2784ec20c0f2d486125141409763ea603e1a10\">"
@@ -82,21 +82,13 @@
       get HomeR
       bodyContains "<script src=\"https://assets.transloadit.com/js/jquery.transloadit2-v2-latest.js\"></script>"
   ydescribe "Response parsing" $ do
-    yit "grabs ssl_url" $ do
-      assertEqual "ssl_url" (sampleResult ^. sslUrl) ("<ssl_url>" :: Text)
-    yit "grabs id" $ do
-      assertEqual "id" (sampleResult ^. resultId) ("<id>" :: Text)
-    yit "grabs name" $ do
-      assertEqual "name" (sampleResult ^. name) ("n" :: Text)
-    yit "grabs basename" $ do
-      assertEqual "basename" (sampleResult ^. baseName) ("b" :: Text)
-    yit "grabs extension" $ do
-      assertEqual "ext" (sampleResult ^. extension) ("e" :: Text)
-    yit "grabs mime" $ do
-      assertEqual "mime" (sampleResult ^. mime) ("m" :: Text)
-    yit "grabs field" $ do
-      assertEqual "field" (sampleResult ^. field) ("f" :: Text)
-    yit "grabs url" $ do
-      assertEqual "url" (sampleResult ^. url) ("u" :: Text)
+    yit "grabs ssl_url" $ assertEqual "ssl_url" (sampleResult ^. sslUrl) ("<ssl_url>" :: Text)
+    yit "grabs id" $ assertEqual "id" (sampleResult ^. resultId) ("<id>" :: Text)
+    yit "grabs name" $ assertEqual "name" (sampleResult ^. name) ("n" :: Text)
+    yit "grabs basename" $ assertEqual "basename" (sampleResult ^. baseName) ("b" :: Text)
+    yit "grabs extension" $ assertEqual "ext" (sampleResult ^. extension) ("e" :: Text)
+    yit "grabs mime" $ assertEqual "mime" (sampleResult ^. mime) ("m" :: Text)
+    yit "grabs field" $ assertEqual "field" (sampleResult ^. field) ("f" :: Text)
+    yit "grabs url" $ assertEqual "url" (sampleResult ^. url) ("u" :: Text)
 
 main = hspec formGenSpecs
diff --git a/yesod-transloadit.cabal b/yesod-transloadit.cabal
--- a/yesod-transloadit.cabal
+++ b/yesod-transloadit.cabal
@@ -1,5 +1,5 @@
 name:                yesod-transloadit
-version:             0.3.0.0
+version:             0.4.0.0
 synopsis:            Transloadit support for Yesod
 description:         Drop in Transloadit capabilites for Yesod web apps
 license:             MIT
