diff --git a/asterix-examples/src/main/resources/cherry/examples/cherry.html b/asterix-examples/src/main/resources/cherry/examples/cherry.html
index 8de0ae1..a5f33b3 100755
--- a/asterix-examples/src/main/resources/cherry/examples/cherry.html
+++ b/asterix-examples/src/main/resources/cherry/examples/cherry.html
@@ -21,7 +21,7 @@
     <script type="text/javascript" src="../js/geostats.js" ></script>
 
     <script src="../../core/js/easyXDM/easyXDM.debug.js"></script>
-    <script src="http://localhost:19002/sdk/static/js/asterix-sdk-stable.js"></script>>
+    <script src="http://localhost:19002/sdk/static/js/asterix-sdk-stable.js"></script>
     <script src="../js/cherry.js" type="text/javascript"></script>
     <style type="text/css">
         .column-section {
diff --git a/asterix-examples/src/main/resources/cherry/js/cherry.js b/asterix-examples/src/main/resources/cherry/js/cherry.js
index 532e259..1f2ff84 100755
--- a/asterix-examples/src/main/resources/cherry/js/cherry.js
+++ b/asterix-examples/src/main/resources/cherry/js/cherry.js
@@ -249,7 +249,7 @@
         
         var extra = {
             "payload" : formData,
-            "query_string" : "use dataverse twitter;\n"
+            "query_string" : "use dataverse twitter;\n" + f.val()
         };
         
         var a = new AsterixSDK()
@@ -349,9 +349,9 @@
 function cherryQueryAsyncCallback(res, extra) {
     
     // Parse handle, handle id and query from async call result
-    var handle = res[0];
     var handle_query = extra["query_string"];
-    var handle_id = $.parseJSON(handle)["handle"].toString().split(',')[0];    
+    var handle = res["handle"];
+    var handle_id = handle.toString().split(',')[0]; 
     
     // Add to stored map of existing handles
     asyncQueryManager[handle_id] = {
@@ -477,9 +477,9 @@
             };
             var map_circle = new google.maps.Circle(map_circle_options);
             map_circle.val = mapPlotData[m];
-            map_circle.info = new google.maps.InfoWindow({
-                content: mapPlotData[m].weight.toString()
-            });
+            /*var map_circle_info = new google.maps.InfoWindow({
+                content: mapPlotData[m].weight + " "
+            });*/
             
             // Clicking on a circle drills down map to that value
             google.maps.event.addListener(map_circle, 'click', function (event) {
