diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a6520a292..3a6414019 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -7,25 +7,32 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="671a34b5-b647-4093-b4db-14fa3bb81bec" name="Default" comment="">
-      <change afterPath="$PROJECT_DIR$/.idea/libraries/Dart_Packages.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/lib/enums/parse_enum_function_call.dart" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/lib/objects/parse_function.dart" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Dart_SDK.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Dart_SDK.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Flutter_Plugins.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Flutter_Plugins.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Flutter_for_Android.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/runConfigurations/example_lib_main_dart.xml" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CHANGELOG.md" beforeDir="false" afterPath="$PROJECT_DIR$/CHANGELOG.md" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/example/lib/application_constants.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/application_constants.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/example/lib/diet_plan.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/diet_plan.dart" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/example/lib/main.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/main.dart" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/lib/objects/parse_base.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/objects/parse_base.dart" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/lib/objects/parse_object.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/objects/parse_object.dart" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/lib/objects/parse_response.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/objects/parse_response.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/base/parse_constants.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/base/parse_constants.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/data/parse_data.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/data/parse_data.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/data/parse_data_objects.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/data/parse_data_objects.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/data/parse_data_server.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/data/parse_data_server.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/data/parse_data_user.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/data/parse_data_user.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/enums/parse_enum_function_call.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/enums/parse_enum_function_call.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/enums/parse_enum_object_call.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/enums/parse_enum_object_call.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/enums/parse_enum_user_call.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/enums/parse_enum_user_call.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/network/parse_http_client.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/network/parse_http_client.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/network/parse_livequery.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/network/parse_livequery.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/network/parse_query.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/network/parse_query.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/objects/parse_base.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/objects/parse_base.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/objects/parse_exception.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/objects/parse_exception.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/objects/parse_function.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/objects/parse_function.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/objects/parse_object.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/objects/parse_object.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/objects/parse_response.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/objects/parse_response.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/objects/parse_user.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/objects/parse_user.dart" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/lib/parse.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/parse.dart" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/lib/utils/parse_utils_network.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/utils/parse_utils_network.dart" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/lib/utils/parse_utils_objects.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/utils/parse_utils_objects.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/utils/parse_utils_date.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/utils/parse_utils_date.dart" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/utils/parse_utils_network.dart" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/utils/parse_utils_objects.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/utils/parse_utils_objects.dart" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/pubspec.yaml" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/out/" />
@@ -38,123 +45,88 @@
   </component>
   <component name="FileEditorManager">
     <leaf>
-      <file leaf-file-name="main.dart" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
+      <file leaf-file-name="CHANGELOG.md" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/CHANGELOG.md">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="229">
-              <caret line="43" column="41" selection-start-line="43" selection-start-column="41" selection-end-line="43" selection-end-column="41" />
-              <folding>
-                <element signature="e#0#39#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="51">
+              <caret line="3" selection-start-line="3" selection-end-line="3" />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="application_constants.dart" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/example/lib/application_constants.dart">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="68">
-              <caret line="4" column="84" selection-start-line="4" selection-start-column="84" selection-end-line="4" selection-end-column="84" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="parse.dart" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/parse.dart">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="102">
-              <caret line="6" selection-start-line="6" selection-end-line="6" />
-              <folding>
-                <element signature="e#0#62#0" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="parse_utils_date.dart" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/utils/parse_utils_date.dart">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="340">
-              <caret line="20" selection-start-line="20" selection-end-line="20" />
-              <folding>
-                <element signature="e#0#60#0" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="pubspec.yaml" pinned="false" current-in-tab="false">
+      <file leaf-file-name="pubspec.yaml" pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/pubspec.yaml">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="306">
-              <caret line="18" column="15" selection-start-line="18" selection-start-column="15" selection-end-line="18" selection-end-column="15" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="parse_utils_objects.dart" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/utils/parse_utils_objects.dart">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="170">
-              <caret line="10" lean-forward="true" selection-start-line="10" selection-end-line="10" />
-              <folding>
-                <element signature="e#0#60#0" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="parse_data_user.dart" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/lib/data/parse_data_user.dart">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="221">
-              <caret line="13" column="18" lean-forward="true" selection-start-line="13" selection-start-column="18" selection-end-line="13" selection-end-column="18" />
-              <folding>
-                <element signature="e#0#60#0" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="parse_object.dart" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/objects/parse_object.dart">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="195">
-              <caret line="76" column="40" selection-start-line="76" selection-start-column="40" selection-end-line="76" selection-end-column="40" />
-              <folding>
-                <element signature="e#0#22#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="17">
+              <caret line="1" column="13" selection-start-line="1" selection-start-column="13" selection-end-line="1" selection-end-column="13" />
             </state>
           </provider>
         </entry>
       </file>
     </leaf>
   </component>
+  <component name="FindInProjectRecents">
+    <findStrings>
+      <find>User()</find>
+      <find>import</find>
+    </findStrings>
+    <replaceStrings>
+      <replace>part</replace>
+    </replaceStrings>
+  </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+    <option name="RECENT_BRANCH_BY_REPOSITORY">
+      <map>
+        <entry key="$PROJECT_DIR$" value="master" />
+      </map>
+    </option>
   </component>
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/lib/objects/parse_object.dart" />
         <option value="$PROJECT_DIR$/lib/objects/parse_response.dart" />
         <option value="$PROJECT_DIR$/lib/enums/parse_enum_function_call.dart" />
-        <option value="$PROJECT_DIR$/lib/objects/parse_function.dart" />
         <option value="$PROJECT_DIR$/lib/objects/parse_base.dart" />
         <option value="$PROJECT_DIR$/lib/utils/parse_utils_network.dart" />
+        <option value="$PROJECT_DIR$/lib/utils/parse_utils_date.dart" />
+        <option value="$PROJECT_DIR$/lib/utils/parse_utils_objects.dart" />
+        <option value="$PROJECT_DIR$/lib/data/parse_data_user.dart" />
+        <option value="$PROJECT_DIR$/lib/objects/parse_object.dart" />
+        <option value="$PROJECT_DIR$/lib/objects/parse_function.dart" />
+        <option value="$PROJECT_DIR$/lib/objects/parse_exception.dart" />
+        <option value="$PROJECT_DIR$/lib/network/parse_query.dart" />
+        <option value="$PROJECT_DIR$/lib/objects/parse_user.dart" />
+        <option value="$PROJECT_DIR$/lib/src/base/parse_constants.dart" />
+        <option value="$PROJECT_DIR$/lib/src/data/parse_data.dart" />
+        <option value="$PROJECT_DIR$/lib/src/data/parse_data_objects.dart" />
+        <option value="$PROJECT_DIR$/lib/src/data/parse_data_server.dart" />
+        <option value="$PROJECT_DIR$/lib/src/data/parse_data_user.dart" />
+        <option value="$PROJECT_DIR$/lib/src/network/parse_livequery.dart" />
+        <option value="$PROJECT_DIR$/lib/src/network/parse_query.dart" />
+        <option value="$PROJECT_DIR$/lib/src/objects/parse_base.dart" />
+        <option value="$PROJECT_DIR$/lib/src/objects/parse_response.dart" />
+        <option value="$PROJECT_DIR$/lib/src/utils/parse_utils_date.dart" />
+        <option value="$PROJECT_DIR$/lib/src/utils/parse_utils_objects.dart" />
+        <option value="$PROJECT_DIR$/lib/src/objects/parse_exception.dart" />
+        <option value="$PROJECT_DIR$/lib/src/network/parse_http_client.dart" />
+        <option value="$PROJECT_DIR$/lib/src/objects/parse_function.dart" />
+        <option value="$PROJECT_DIR$/lib/src/enums/parse_enum_function_call.dart" />
+        <option value="$PROJECT_DIR$/lib/src/enums/parse_enum_user_call.dart" />
+        <option value="$PROJECT_DIR$/lib/src/enums/parse_enum_object_call.dart" />
+        <option value="$PROJECT_DIR$/lib/src/objects/parse_object.dart" />
+        <option value="$PROJECT_DIR$/lib/src/objects/parse_user.dart" />
         <option value="$PROJECT_DIR$/lib/parse.dart" />
-        <option value="$PROJECT_DIR$/CHANGELOG.md" />
         <option value="$PROJECT_DIR$/example/lib/main.dart" />
+        <option value="$PROJECT_DIR$/example/lib/diet_plan.dart" />
         <option value="$PROJECT_DIR$/example/lib/application_constants.dart" />
-        <option value="$PROJECT_DIR$/lib/utils/parse_utils_date.dart" />
+        <option value="$PROJECT_DIR$/CHANGELOG.md" />
         <option value="$PROJECT_DIR$/pubspec.yaml" />
-        <option value="$PROJECT_DIR$/lib/utils/parse_utils_objects.dart" />
-        <option value="$PROJECT_DIR$/lib/data/parse_data_user.dart" />
       </list>
     </option>
   </component>
   <component name="ProjectFrameBounds">
-    <option name="x" value="-6" />
+    <option name="x" value="-7" />
     <option name="width" value="1577" />
     <option name="height" value="1047" />
   </component>
@@ -178,48 +150,54 @@
             <path>
               <item name="flutter_parse_sdk" type="b2602c69:ProjectViewProjectNode" />
               <item name="flutter_parse_sdk" type="462c0819:PsiDirectoryNode" />
-              <item name="example" type="462c0819:PsiDirectoryNode" />
               <item name="lib" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="flutter_parse_sdk" type="b2602c69:ProjectViewProjectNode" />
               <item name="flutter_parse_sdk" type="462c0819:PsiDirectoryNode" />
               <item name="lib" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="flutter_parse_sdk" type="b2602c69:ProjectViewProjectNode" />
               <item name="flutter_parse_sdk" type="462c0819:PsiDirectoryNode" />
               <item name="lib" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
               <item name="base" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="flutter_parse_sdk" type="b2602c69:ProjectViewProjectNode" />
               <item name="flutter_parse_sdk" type="462c0819:PsiDirectoryNode" />
               <item name="lib" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
               <item name="data" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="flutter_parse_sdk" type="b2602c69:ProjectViewProjectNode" />
               <item name="flutter_parse_sdk" type="462c0819:PsiDirectoryNode" />
               <item name="lib" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
               <item name="enums" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="flutter_parse_sdk" type="b2602c69:ProjectViewProjectNode" />
               <item name="flutter_parse_sdk" type="462c0819:PsiDirectoryNode" />
               <item name="lib" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
               <item name="network" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="flutter_parse_sdk" type="b2602c69:ProjectViewProjectNode" />
               <item name="flutter_parse_sdk" type="462c0819:PsiDirectoryNode" />
               <item name="lib" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
               <item name="objects" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="flutter_parse_sdk" type="b2602c69:ProjectViewProjectNode" />
               <item name="flutter_parse_sdk" type="462c0819:PsiDirectoryNode" />
               <item name="lib" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
               <item name="utils" type="462c0819:PsiDirectoryNode" />
             </path>
           </expand>
@@ -255,6 +233,9 @@
     <property name="show.migrate.to.gradle.popup" value="false" />
   </component>
   <component name="RecentsManager">
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="C:\Users\phill\Desktop\Flutter Home Apps\flutter_parse_sdk\lib\src" />
+    </key>
     <key name="CopyFile.RECENT_KEYS">
       <recent name="C:\Users\phill\Desktop\Flutter Home Apps\flutter_parse_sdk\lib\objects" />
     </key>
@@ -345,15 +326,23 @@
       <option name="presentableId" value="Default" />
       <updated>1546881355795</updated>
     </task>
+    <task id="LOCAL-00001" summary="Version 0.3 for release">
+      <created>1546884752230</created>
+      <option name="number" value="00001" />
+      <option name="presentableId" value="LOCAL-00001" />
+      <option name="project" value="LOCAL" />
+      <updated>1546884752230</updated>
+    </task>
+    <option name="localTasksCounter" value="2" />
     <servers />
   </component>
   <component name="ToolWindowManager">
-    <frame x="-6" y="0" width="1577" height="1047" extended-state="0" />
+    <frame x="-7" y="0" width="1577" height="1047" extended-state="0" />
     <editor active="true" />
     <layout>
       <window_info anchor="bottom" id="Android Profiler" show_stripe_button="false" />
       <window_info id="Build Variants" side_tool="true" />
-      <window_info anchor="bottom" id="Event Log" sideWeight="0.23137772" side_tool="true" visible="true" weight="0.32969433" />
+      <window_info anchor="bottom" id="Event Log" sideWeight="0.5009888" side_tool="true" visible="true" weight="0.32969433" />
       <window_info anchor="bottom" id="Dart Analysis" weight="0.32972974" />
       <window_info anchor="right" id="Flutter Outline" />
       <window_info anchor="bottom" id="Logcat" />
@@ -363,16 +352,16 @@
       <window_info anchor="right" id="Device File Explorer" side_tool="true" />
       <window_info anchor="bottom" id="Debug" order="3" sideWeight="0.49967042" weight="0.3995633" />
       <window_info anchor="bottom" id="TODO" order="6" />
-      <window_info anchor="bottom" id="Messages" sideWeight="0.49967042" weight="0.33296943" />
+      <window_info anchor="bottom" id="Messages" sideWeight="0.49901122" weight="0.33296943" />
       <window_info anchor="right" id="Palette&#9;" />
       <window_info id="Image Layers" />
       <window_info anchor="right" id="Capture Analysis" />
       <window_info anchor="bottom" id="Flutter Performance" side_tool="true" />
       <window_info anchor="bottom" id="Version Control" />
-      <window_info active="true" anchor="bottom" id="Run" order="2" sideWeight="0.7686223" visible="true" weight="0.32969433" />
-      <window_info anchor="bottom" id="Terminal" weight="0.32969433" />
+      <window_info anchor="bottom" id="Run" order="2" sideWeight="0.7679631" weight="0.32969433" />
+      <window_info anchor="bottom" id="Terminal" sideWeight="0.49901122" visible="true" weight="0.32969433" />
       <window_info id="Captures" order="2" weight="0.25" />
-      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.30916283" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.30916283" />
       <window_info anchor="right" id="Android WiFi ADB" />
       <window_info anchor="right" id="Theme Preview" />
       <window_info id="Favorites" side_tool="true" />
@@ -389,244 +378,242 @@
   <component name="VcsContentAnnotationSettings">
     <option name="myLimit" value="2678400000" />
   </component>
+  <component name="VcsManagerConfiguration">
+    <MESSAGE value="Version 0.3 for release" />
+    <option name="LAST_COMMIT_MESSAGE" value="Version 0.3 for release" />
+  </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
-      <breakpoints>
-        <line-breakpoint enabled="true" type="Dart">
-          <url>file://$PROJECT_DIR$/lib/objects/parse_object.dart</url>
-          <line>76</line>
-        </line-breakpoint>
-      </breakpoints>
       <option name="time" value="1" />
     </breakpoint-manager>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/example/lib/diet_plan.dart">
+    <entry file="file://C:/Programming/Flutter/bin/cache/dart-sdk/lib/_http/http_impl.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <folding>
-            <element signature="e#0#19#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="195">
+          <caret line="2120" column="8" selection-start-line="2120" selection-start-column="8" selection-end-line="2120" selection-end-column="8" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/objects/parse_exception.dart">
+    <entry file="file://C:/Programming/Flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0/lib/src/base_client.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state />
+        <state relative-caret-position="195">
+          <caret line="31" column="6" selection-start-line="31" selection-start-column="6" selection-end-line="31" selection-end-column="6" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/objects/parse_response.dart">
+    <entry file="file://$PROJECT_DIR$/README.md">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="439">
-          <caret line="45" column="3" selection-start-line="45" selection-start-column="3" selection-end-line="45" selection-end-column="3" />
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="-561" />
+      </provider>
+    </entry>
+    <entry file="file://C:/Programming/Flutter/bin/cache/dart-sdk/lib/convert/json.dart">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="539" column="35" selection-start-line="539" selection-start-column="35" selection-end-line="539" selection-end-column="35" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/enums/parse_enum_object_call.dart">
+    <entry file="file://C:/Programming/Flutter/bin/cache/dart-sdk/lib/core/date_time.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret selection-end-line="25" selection-end-column="1" />
+        <state relative-caret-position="858">
+          <caret line="276" column="21" selection-start-line="276" selection-start-column="21" selection-end-line="276" selection-end-column="21" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/objects/parse_function.dart">
+    <entry file="file://C:/Programming/Flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.1.6/lib/meta.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="425">
-          <caret line="28" column="9" selection-start-line="28" selection-start-column="9" selection-end-line="28" selection-end-column="9" />
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </folding>
+        <state />
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/lib/utils/parse_utils_network.dart">
+      <provider selected="true" editor-type-id="text-editor">
+        <state>
+          <caret column="60" selection-start-column="60" selection-end-column="60" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/objects/parse_base.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/base/parse_constants.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="11" column="11" selection-start-line="11" selection-start-column="11" selection-end-line="11" selection-end-column="11" />
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </folding>
+        <state>
+          <caret selection-end-column="8" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/enums/parse_enum_function_call.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/data/parse_data.dart">
       <provider selected="true" editor-type-id="text-editor">
         <state>
-          <caret column="29" selection-start-column="5" selection-end-column="29" />
+          <caret selection-end-column="7" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/data/parse_data_server.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/data/parse_data_objects.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state />
+        <state>
+          <caret column="7" selection-start-column="7" selection-end-column="7" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/data/parse_data_objects.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/data/parse_data_server.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state />
+        <state>
+          <caret column="7" selection-start-column="7" selection-end-column="7" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/base/parse_constants.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/data/parse_data_user.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state />
+        <state>
+          <caret column="7" selection-start-column="7" selection-end-column="7" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/network/parse_query.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/network/parse_query.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-747">
-          <caret line="124" column="46" lean-forward="true" selection-start-line="124" selection-start-column="46" selection-end-line="124" selection-end-column="46" />
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </folding>
+        <state>
+          <caret column="7" selection-start-column="7" selection-end-column="7" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/data/parse_data.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/utils/parse_utils_objects.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state />
+        <state relative-caret-position="34">
+          <caret line="2" column="32" selection-start-line="2" selection-start-column="32" selection-end-line="2" selection-end-column="32" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://C:/Programming/Flutter/bin/cache/dart-sdk/lib/_http/http_impl.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/objects/parse_response.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="195">
-          <caret line="2120" column="8" selection-start-line="2120" selection-start-column="8" selection-end-line="2120" selection-end-column="8" />
+        <state>
+          <caret column="7" selection-start-column="7" selection-end-column="7" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/objects/parse_user.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/objects/parse_exception.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1777">
-          <caret line="8" column="17" lean-forward="true" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </folding>
+        <state>
+          <caret column="26" selection-start-column="26" selection-end-column="26" />
         </state>
       </provider>
     </entry>
-    <entry file="file://C:/Programming/Flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0/lib/src/base_client.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/network/parse_livequery.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="195">
-          <caret line="31" column="6" selection-start-line="31" selection-start-column="6" selection-end-line="31" selection-end-column="6" />
+        <state relative-caret-position="158">
+          <caret line="28" column="36" selection-start-line="28" selection-start-column="18" selection-end-line="28" selection-end-column="36" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/utils/parse_utils_network.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/objects/parse_base.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret column="60" selection-start-column="60" selection-end-column="60" />
+        <state relative-caret-position="153">
+          <caret line="9" column="15" selection-start-line="9" selection-start-column="15" selection-end-line="10" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/README.md">
+    <entry file="file://$PROJECT_DIR$/lib/src/network/parse_http_client.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-561" />
+        <state relative-caret-position="51">
+          <caret line="3" column="29" selection-start-line="3" selection-start-column="29" selection-end-line="3" selection-end-column="29" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/network/parse_http_client.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/objects/parse_function.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="340">
-          <caret line="20" column="19" selection-start-line="20" selection-start-column="19" selection-end-line="20" selection-end-column="19" />
-          <folding>
-            <element signature="e#0#20#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="323">
+          <caret line="37" column="102" selection-start-line="37" selection-start-column="102" selection-end-line="37" selection-end-column="102" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CHANGELOG.md">
+    <entry file="file://$PROJECT_DIR$/lib/src/enums/parse_enum_function_call.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="34">
-          <caret line="2" column="26" selection-start-line="2" selection-start-column="26" selection-end-line="2" selection-end-column="26" />
+        <state relative-caret-position="85">
+          <caret line="5" column="9" selection-start-line="5" selection-start-column="2" selection-end-line="5" selection-end-column="9" />
         </state>
       </provider>
     </entry>
-    <entry file="file://C:/Programming/Flutter/bin/cache/dart-sdk/lib/convert/json.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/enums/parse_enum_object_call.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="195">
-          <caret line="539" column="35" selection-start-line="539" selection-start-column="35" selection-end-line="539" selection-end-column="35" />
+        <state relative-caret-position="68">
+          <caret line="4" column="32" selection-start-line="4" selection-start-column="6" selection-end-line="4" selection-end-column="32" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/objects/parse_object.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/objects/parse_object.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="195">
-          <caret line="76" column="40" selection-start-line="76" selection-start-column="40" selection-end-line="76" selection-end-column="40" />
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="340">
+          <caret line="68" column="58" selection-start-line="68" selection-start-column="58" selection-end-line="69" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/enums/parse_enum_user_call.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="229">
-          <caret line="43" column="41" selection-start-line="43" selection-start-column="41" selection-end-line="43" selection-end-column="41" />
-          <folding>
-            <element signature="e#0#39#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="124">
+          <caret line="13" column="31" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="31" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/example/lib/application_constants.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/objects/parse_user.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="68">
-          <caret line="4" column="84" selection-start-line="4" selection-start-column="84" selection-end-line="4" selection-end-column="84" />
+        <state relative-caret-position="204">
+          <caret line="128" selection-start-line="128" selection-end-line="128" />
         </state>
       </provider>
     </entry>
-    <entry file="file://C:/Programming/Flutter/bin/cache/dart-sdk/lib/core/date_time.dart">
+    <entry file="file://$PROJECT_DIR$/lib/src/utils/parse_utils_date.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="858">
-          <caret line="276" column="21" selection-start-line="276" selection-start-column="21" selection-end-line="276" selection-end-column="21" />
+        <state relative-caret-position="85">
+          <caret line="5" column="19" lean-forward="true" selection-start-line="5" selection-start-column="19" selection-end-line="5" selection-end-column="19" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/lib/parse.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="102">
-          <caret line="6" selection-start-line="6" selection-end-line="6" />
+        <state relative-caret-position="68">
+          <caret line="7" column="32" lean-forward="true" selection-start-line="7" selection-start-column="32" selection-end-line="7" selection-end-column="32" />
           <folding>
-            <element signature="e#0#62#0" expanded="true" />
+            <element signature="e#200#237#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/utils/parse_utils_date.dart">
+    <entry file="file://$PROJECT_DIR$/example/lib/diet_plan.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="340">
-          <caret line="20" selection-start-line="20" selection-end-line="20" />
+        <state relative-caret-position="34">
+          <caret line="4" column="27" selection-start-line="4" selection-start-column="27" selection-end-line="4" selection-end-column="27" />
           <folding>
-            <element signature="e#0#60#0" expanded="true" />
+            <element signature="e#0#19#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pubspec.yaml">
+    <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="306">
-          <caret line="18" column="15" selection-start-line="18" selection-start-column="15" selection-end-line="18" selection-end-column="15" />
+        <state relative-caret-position="1479">
+          <caret line="87" column="41" lean-forward="true" selection-start-line="87" selection-start-column="41" selection-end-line="87" selection-end-column="41" />
+          <folding>
+            <element signature="e#0#39#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/utils/parse_utils_objects.dart">
+    <entry file="file://$PROJECT_DIR$/example/lib/application_constants.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="170">
-          <caret line="10" lean-forward="true" selection-start-line="10" selection-end-line="10" />
-          <folding>
-            <element signature="e#0#60#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="68">
+          <caret line="4" column="84" selection-start-line="4" selection-start-column="84" selection-end-line="4" selection-end-column="84" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/data/parse_data_user.dart">
+    <entry file="file://$PROJECT_DIR$/CHANGELOG.md">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="221">
-          <caret line="13" column="18" lean-forward="true" selection-start-line="13" selection-start-column="18" selection-end-line="13" selection-end-column="18" />
-          <folding>
-            <element signature="e#0#60#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="51">
+          <caret line="3" selection-start-line="3" selection-end-line="3" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pubspec.yaml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="17">
+          <caret line="1" column="13" selection-start-line="1" selection-start-column="13" selection-end-line="1" selection-end-column="13" />
         </state>
       </provider>
     </entry>
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 60a981fd4..1daa7cb3b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.0.4
+
+Added description
+
 ## 0.0.3
 
 Added more cloud functions
diff --git a/README.md b/README.md
index 10e612a12..969cc9211 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Want to get involved? Join our Slack channel and help out! (http://flutter-parse
 To install, either add to your pubspec.yaml
 ```
 dependencies:  
-	parse_server_sdk: ^0.0.2
+	parse_server_sdk: ^0.0.4
 ```
 or clone this repository and add to your project. As this is an early development with multiple contributors, it is probably best to download/clone and keep updating as an when a new feature is added.
 
diff --git a/example/lib/diet_plan.dart b/example/lib/diet_plan.dart
index fa83e128b..116d9636d 100644
--- a/example/lib/diet_plan.dart
+++ b/example/lib/diet_plan.dart
@@ -1,6 +1,6 @@
 import 'dart:core';
 
-import 'package:parse_server_sdk/objects/parse_object.dart';
+import 'package:parse_server_sdk/parse.dart';
 
 class DietPlan extends ParseObject {
   DietPlan() : super(DIET_PLAN);
diff --git a/example/lib/main.dart b/example/lib/main.dart
index 5ff422be2..5f7ba88dd 100644
--- a/example/lib/main.dart
+++ b/example/lib/main.dart
@@ -1,10 +1,6 @@
 import 'package:flutter/material.dart';
 import 'package:flutter_plugin_example/application_constants.dart';
 import 'package:flutter_plugin_example/diet_plan.dart';
-import 'package:parse_server_sdk/network/parse_query.dart';
-import 'package:parse_server_sdk/objects/parse_function.dart';
-import 'package:parse_server_sdk/objects/parse_object.dart';
-import 'package:parse_server_sdk/objects/parse_user.dart';
 import 'package:parse_server_sdk/parse.dart';
 
 void main() => runApp(new MyApp());
diff --git a/lib/enums/parse_enum_function_call.dart b/lib/enums/parse_enum_function_call.dart
deleted file mode 100644
index 86c2b845c..000000000
--- a/lib/enums/parse_enum_function_call.dart
+++ /dev/null
@@ -1,11 +0,0 @@
-enum ParseApiFunctionCallType {
-  execute
-}
-
-getEnumValue(ParseApiFunctionCallType type){
-  switch (type){
-    case ParseApiFunctionCallType.execute: {
-      return 'execure';
-    }
-  }
-}
\ No newline at end of file
diff --git a/lib/enums/parse_enum_object_call.dart b/lib/enums/parse_enum_object_call.dart
deleted file mode 100644
index c57044a59..000000000
--- a/lib/enums/parse_enum_object_call.dart
+++ /dev/null
@@ -1,26 +0,0 @@
-enum ParseApiObjectCallType {
-  get, getAll, create, save, query, delete
-}
-
-getEnumValue(ParseApiObjectCallType type){
-    switch (type){
-      case ParseApiObjectCallType.get: {
-        return 'get';
-      }
-      case ParseApiObjectCallType.getAll: {
-        return 'getAll';
-      }
-      case ParseApiObjectCallType.create: {
-        return 'create';
-      }
-      case ParseApiObjectCallType.save: {
-        return 'save';
-      }
-      case ParseApiObjectCallType.query: {
-        return 'query';
-      }
-      case ParseApiObjectCallType.delete: {
-        return 'delete';
-      }
-    }
-}
\ No newline at end of file
diff --git a/lib/enums/parse_enum_user_call.dart b/lib/enums/parse_enum_user_call.dart
deleted file mode 100644
index 9d9c5dbf4..000000000
--- a/lib/enums/parse_enum_user_call.dart
+++ /dev/null
@@ -1,32 +0,0 @@
-enum ParseApiUserCallType {
-  currentUser, signUp, login, verificationEmailRequest, requestPasswordReset, save, destroy, all
-}
-
-getEnumValue(ParseApiUserCallType type){
-    switch (type){
-      case ParseApiUserCallType.currentUser: {
-        return 'currentUser';
-      }
-      case ParseApiUserCallType.signUp: {
-        return 'signUp';
-      }
-      case ParseApiUserCallType.login: {
-        return 'login';
-      }
-      case ParseApiUserCallType.verificationEmailRequest: {
-        return 'verificationEmailRequest';
-      }
-      case ParseApiUserCallType.requestPasswordReset: {
-        return 'requestPasswordReset';
-      }
-      case ParseApiUserCallType.save: {
-        return 'save';
-      }
-      case ParseApiUserCallType.destroy: {
-        return 'destroy';
-      }
-      case ParseApiUserCallType.all: {
-        return 'all';
-      }
-    }
-}
\ No newline at end of file
diff --git a/lib/parse.dart b/lib/parse.dart
index b1d9a87d2..0e1881968 100644
--- a/lib/parse.dart
+++ b/lib/parse.dart
@@ -1,5 +1,34 @@
-import 'package:parse_server_sdk/data/parse_data_server.dart';
-import 'package:parse_server_sdk/network/parse_http_client.dart';
+library flutter_parse_sdk;
+
+import 'dart:async';
+import 'dart:convert';
+import 'dart:io';
+
+import 'package:http/http.dart';
+import 'package:intl/intl.dart';
+import 'package:meta/meta.dart';
+import 'package:web_socket_channel/io.dart';
+
+part 'src/base/parse_constants.dart';
+part 'src/data/parse_data.dart';
+part 'src/data/parse_data_objects.dart';
+part 'src/data/parse_data_server.dart';
+part 'src/data/parse_data_user.dart';
+part 'src/enums/parse_enum_function_call.dart';
+part 'src/enums/parse_enum_object_call.dart';
+part 'src/enums/parse_enum_user_call.dart';
+part 'src/network/parse_http_client.dart';
+part 'src/network/parse_livequery.dart';
+part 'src/network/parse_query.dart';
+part 'src/objects/parse_base.dart';
+part 'src/objects/parse_exception.dart';
+part 'src/objects/parse_function.dart';
+part 'src/objects/parse_object.dart';
+part 'src/objects/parse_response.dart';
+part 'src/objects/parse_user.dart';
+
+part 'src/utils/parse_utils_date.dart';
+part 'src/utils/parse_utils_objects.dart';
 
 class Parse {
   ParseDataServer data;
diff --git a/lib/base/parse_constants.dart b/lib/src/base/parse_constants.dart
similarity index 93%
rename from lib/base/parse_constants.dart
rename to lib/src/base/parse_constants.dart
index 40052d27b..d873cfe1f 100644
--- a/lib/base/parse_constants.dart
+++ b/lib/src/base/parse_constants.dart
@@ -1,3 +1,5 @@
+part of flutter_parse_sdk;
+
 class ParseConstants {
 
   static const String PARSE_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm";
diff --git a/lib/data/parse_data.dart b/lib/src/data/parse_data.dart
similarity index 96%
rename from lib/data/parse_data.dart
rename to lib/src/data/parse_data.dart
index 66bf62da1..5f6a6d15c 100644
--- a/lib/data/parse_data.dart
+++ b/lib/src/data/parse_data.dart
@@ -1,3 +1,5 @@
+part of flutter_parse_sdk;
+
 class ParseData {
   static ParseData _instance;
 
diff --git a/lib/data/parse_data_objects.dart b/lib/src/data/parse_data_objects.dart
similarity index 85%
rename from lib/data/parse_data_objects.dart
rename to lib/src/data/parse_data_objects.dart
index 7b804c193..3a23cc43b 100644
--- a/lib/data/parse_data_objects.dart
+++ b/lib/src/data/parse_data_objects.dart
@@ -1,4 +1,4 @@
-import 'package:parse_server_sdk/objects/parse_object.dart';
+part of flutter_parse_sdk;
 
 class ParseDataObjects {
   static ParseDataObjects _instance;
diff --git a/lib/data/parse_data_server.dart b/lib/src/data/parse_data_server.dart
similarity index 97%
rename from lib/data/parse_data_server.dart
rename to lib/src/data/parse_data_server.dart
index 2fcae8889..25785e206 100644
--- a/lib/data/parse_data_server.dart
+++ b/lib/src/data/parse_data_server.dart
@@ -1,3 +1,5 @@
+part of flutter_parse_sdk;
+
 class ParseDataServer {
   static ParseDataServer _instance;
   static ParseDataServer get instance => _instance;
diff --git a/lib/data/parse_data_user.dart b/lib/src/data/parse_data_user.dart
similarity index 90%
rename from lib/data/parse_data_user.dart
rename to lib/src/data/parse_data_user.dart
index c30f74047..8724e7f2d 100644
--- a/lib/data/parse_data_user.dart
+++ b/lib/src/data/parse_data_user.dart
@@ -1,6 +1,4 @@
-import 'package:parse_server_sdk/base/parse_constants.dart';
-import 'package:parse_server_sdk/objects/parse_base.dart';
-import 'package:parse_server_sdk/utils/parse_utils_date.dart';
+part of flutter_parse_sdk;
 
 class User extends ParseBase {
   static User _instance;
diff --git a/lib/src/enums/parse_enum_function_call.dart b/lib/src/enums/parse_enum_function_call.dart
new file mode 100644
index 000000000..75926f272
--- /dev/null
+++ b/lib/src/enums/parse_enum_function_call.dart
@@ -0,0 +1,14 @@
+part of flutter_parse_sdk;
+
+enum ParseApiFunctionCallType { execute }
+
+class ParseApiFunctionCallTypeUtil {
+  static getEnumValue(ParseApiFunctionCallType type) {
+    switch (type) {
+      case ParseApiFunctionCallType.execute:
+        {
+          return 'execure';
+        }
+    }
+  }
+}
diff --git a/lib/src/enums/parse_enum_object_call.dart b/lib/src/enums/parse_enum_object_call.dart
new file mode 100644
index 000000000..778580a50
--- /dev/null
+++ b/lib/src/enums/parse_enum_object_call.dart
@@ -0,0 +1,34 @@
+part of flutter_parse_sdk;
+
+enum ParseApiObjectCallType { get, getAll, create, save, query, delete }
+
+class ParseApiObjectCallTypeUtil {
+  static getEnumValue(ParseApiObjectCallType type) {
+    switch (type) {
+      case ParseApiObjectCallType.get:
+        {
+          return 'get';
+        }
+      case ParseApiObjectCallType.getAll:
+        {
+          return 'getAll';
+        }
+      case ParseApiObjectCallType.create:
+        {
+          return 'create';
+        }
+      case ParseApiObjectCallType.save:
+        {
+          return 'save';
+        }
+      case ParseApiObjectCallType.query:
+        {
+          return 'query';
+        }
+      case ParseApiObjectCallType.delete:
+        {
+          return 'delete';
+        }
+    }
+  }
+}
diff --git a/lib/src/enums/parse_enum_user_call.dart b/lib/src/enums/parse_enum_user_call.dart
new file mode 100644
index 000000000..db79726a4
--- /dev/null
+++ b/lib/src/enums/parse_enum_user_call.dart
@@ -0,0 +1,51 @@
+part of flutter_parse_sdk;
+
+enum ParseApiUserCallType {
+  currentUser,
+  signUp,
+  login,
+  verificationEmailRequest,
+  requestPasswordReset,
+  save,
+  destroy,
+  all
+}
+
+class ParseApiUserCallTypeUtils {
+  static getEnumValue(ParseApiUserCallType type) {
+    switch (type) {
+      case ParseApiUserCallType.currentUser:
+        {
+          return 'currentUser';
+        }
+      case ParseApiUserCallType.signUp:
+        {
+          return 'signUp';
+        }
+      case ParseApiUserCallType.login:
+        {
+          return 'login';
+        }
+      case ParseApiUserCallType.verificationEmailRequest:
+        {
+          return 'verificationEmailRequest';
+        }
+      case ParseApiUserCallType.requestPasswordReset:
+        {
+          return 'requestPasswordReset';
+        }
+      case ParseApiUserCallType.save:
+        {
+          return 'save';
+        }
+      case ParseApiUserCallType.destroy:
+        {
+          return 'destroy';
+        }
+      case ParseApiUserCallType.all:
+        {
+          return 'all';
+        }
+    }
+  }
+}
diff --git a/lib/network/parse_http_client.dart b/lib/src/network/parse_http_client.dart
similarity index 65%
rename from lib/network/parse_http_client.dart
rename to lib/src/network/parse_http_client.dart
index d5427ea75..839ef2649 100644
--- a/lib/network/parse_http_client.dart
+++ b/lib/src/network/parse_http_client.dart
@@ -1,11 +1,7 @@
-import 'dart:async';
+part of flutter_parse_sdk;
 
-import 'package:http/http.dart' as http;
-import 'package:http/http.dart';
-import 'package:parse_server_sdk/data/parse_data_server.dart';
-
-class ParseHTTPClient extends http.BaseClient {
-  final http.Client _client = new http.Client();
+class ParseHTTPClient extends BaseClient {
+  final Client _client = new Client();
   final String _userAgent = "Dart Parse SDK 0.1";
   ParseDataServer data = ParseDataServer();
 
diff --git a/lib/network/parse_livequery.dart b/lib/src/network/parse_livequery.dart
similarity index 89%
rename from lib/network/parse_livequery.dart
rename to lib/src/network/parse_livequery.dart
index 99219ae33..ded028e95 100644
--- a/lib/network/parse_livequery.dart
+++ b/lib/src/network/parse_livequery.dart
@@ -1,7 +1,4 @@
-import "dart:convert";
-import 'package:web_socket_channel/io.dart';
-import 'package:parse_server_sdk/network/parse_http_client.dart';
-import 'dart:io';
+part of flutter_parse_sdk;
 
 class LiveQuery {
   final ParseHTTPClient client;
diff --git a/lib/network/parse_query.dart b/lib/src/network/parse_query.dart
similarity index 98%
rename from lib/network/parse_query.dart
rename to lib/src/network/parse_query.dart
index 633841b3c..caa2172b8 100644
--- a/lib/network/parse_query.dart
+++ b/lib/src/network/parse_query.dart
@@ -1,6 +1,4 @@
-import 'dart:convert';
-
-import 'package:parse_server_sdk/objects/parse_object.dart';
+part of flutter_parse_sdk;
 
 class QueryBuilder<T extends ParseObject> {
 
@@ -276,7 +274,7 @@ class QueryBuilder<T extends ParseObject> {
   }
 
   convertValueToCorrectType(dynamic value) {
-    if (value is int) return (value as num);
+    if (value is num) return value;
     if (value is String) return "\"$value\"";
   }
 }
diff --git a/lib/objects/parse_base.dart b/lib/src/objects/parse_base.dart
similarity index 95%
rename from lib/objects/parse_base.dart
rename to lib/src/objects/parse_base.dart
index b715e1011..338e782b8 100644
--- a/lib/objects/parse_base.dart
+++ b/lib/src/objects/parse_base.dart
@@ -1,6 +1,4 @@
-import 'dart:convert';
-
-import 'package:meta/meta.dart';
+part of flutter_parse_sdk;
 
 abstract class ParseBase {
   Map _objectData;
diff --git a/lib/objects/parse_exception.dart b/lib/src/objects/parse_exception.dart
similarity index 66%
rename from lib/objects/parse_exception.dart
rename to lib/src/objects/parse_exception.dart
index 6921b5a5f..9b383aeff 100644
--- a/lib/objects/parse_exception.dart
+++ b/lib/src/objects/parse_exception.dart
@@ -1,4 +1,4 @@
-import 'package:http/http.dart';
+part of flutter_parse_sdk;
 
 class ParseException {
 
diff --git a/lib/objects/parse_function.dart b/lib/src/objects/parse_function.dart
similarity index 83%
rename from lib/objects/parse_function.dart
rename to lib/src/objects/parse_function.dart
index ecd9d9c7d..9df200fb3 100644
--- a/lib/objects/parse_function.dart
+++ b/lib/src/objects/parse_function.dart
@@ -1,10 +1,4 @@
-import 'dart:convert';
-
-import 'package:http/http.dart';
-import 'package:parse_server_sdk/enums/parse_enum_function_call.dart';
-import 'package:parse_server_sdk/network/parse_http_client.dart';
-import 'package:parse_server_sdk/objects/parse_base.dart';
-import 'package:parse_server_sdk/objects/parse_response.dart';
+part of flutter_parse_sdk;
 
 class ParseCloudFunction extends ParseBase {
   final String functionName;
@@ -17,7 +11,7 @@ class ParseCloudFunction extends ParseBase {
     client == null ? _client = ParseHTTPClient() : _client = client;
 
     if (_debug == null) {
-      _client.data.debug != null ? _debug = _client.data.debug : false;
+      _client.data.debug != null ? _debug = _client.data.debug : _debug = false;
     } else {
       _debug = _debug;
     }
@@ -41,7 +35,7 @@ class ParseCloudFunction extends ParseBase {
       var responseString = ' \n';
 
       responseString += "----"
-          "\n${_client.data.appName} API Response ($functionName : ${getEnumValue(type)}) :";
+          "\n${_client.data.appName} API Response ($functionName : ${ParseApiFunctionCallTypeUtil.getEnumValue(type)}) :";
 
       if (parseResponse.success && parseResponse.result != null) {
         responseString += "\nStatus Code: ${parseResponse.statusCode}";
diff --git a/lib/objects/parse_object.dart b/lib/src/objects/parse_object.dart
similarity index 85%
rename from lib/objects/parse_object.dart
rename to lib/src/objects/parse_object.dart
index 14beacff2..27c419232 100644
--- a/lib/objects/parse_object.dart
+++ b/lib/src/objects/parse_object.dart
@@ -1,11 +1,4 @@
-import 'dart:convert';
-
-import 'package:http/http.dart';
-import 'package:meta/meta.dart';
-import 'package:parse_server_sdk/enums/parse_enum_object_call.dart';
-import 'package:parse_server_sdk/network/parse_http_client.dart';
-import 'package:parse_server_sdk/objects/parse_base.dart';
-import 'package:parse_server_sdk/objects/parse_response.dart';
+part of flutter_parse_sdk;
 
 class ParseObject extends ParseBase {
   final String className;
@@ -13,12 +6,12 @@ class ParseObject extends ParseBase {
   bool _debug;
   ParseHTTPClient _client;
 
-  ParseObject(this.className, {bool debug, ParseHTTPClient client}) {
+  ParseObject(this.className, {bool debug: false, ParseHTTPClient client}) {
 
     client == null ? _client = ParseHTTPClient() : _client = client;
 
     if (_debug == null) {
-      _client.data.debug != null ? _debug = _client.data.debug : false;
+      _client.data.debug != null ? _debug = _client.data.debug : _debug = false;
     } else {
       _debug = _debug;
     }
@@ -57,7 +50,6 @@ class ParseObject extends ParseBase {
     }
   }
 
-  @protected
   query(String query) async {
     var uri = "${_getBasePath(_path)}?$query";
     var result = await _client.get(uri);
@@ -80,7 +72,7 @@ class ParseObject extends ParseBase {
       var responseString = ' \n';
 
       responseString += "----"
-          "\n${_client.data.appName} API Response ($className : ${getEnumValue(type)}) :";
+          "\n${_client.data.appName} API Response ($className : ${ParseApiObjectCallTypeUtil.getEnumValue(type)}) :";
 
       if (parseResponse.success && parseResponse.result != null) {
         responseString += "\nStatus Code: ${parseResponse.statusCode}";
diff --git a/lib/objects/parse_response.dart b/lib/src/objects/parse_response.dart
similarity index 86%
rename from lib/objects/parse_response.dart
rename to lib/src/objects/parse_response.dart
index 04f8fedc8..be6ed156f 100644
--- a/lib/objects/parse_response.dart
+++ b/lib/src/objects/parse_response.dart
@@ -1,10 +1,4 @@
-import 'dart:convert';
-
-import 'package:http/http.dart';
-import 'package:parse_server_sdk/objects/parse_base.dart';
-import 'package:parse_server_sdk/objects/parse_exception.dart';
-import 'package:parse_server_sdk/objects/parse_object.dart';
-import 'package:parse_server_sdk/utils/parse_utils_objects.dart';
+part of flutter_parse_sdk;
 
 class ParseResponse {
   bool success = false;
diff --git a/lib/objects/parse_user.dart b/lib/src/objects/parse_user.dart
similarity index 92%
rename from lib/objects/parse_user.dart
rename to lib/src/objects/parse_user.dart
index d389f42f4..fe088eaad 100644
--- a/lib/objects/parse_user.dart
+++ b/lib/src/objects/parse_user.dart
@@ -1,10 +1,4 @@
-import 'dart:convert';
-
-import 'package:http/http.dart';
-import 'package:parse_server_sdk/base/parse_constants.dart';
-import 'package:parse_server_sdk/data/parse_data_user.dart';
-import 'package:parse_server_sdk/enums/parse_enum_user_call.dart';
-import 'package:parse_server_sdk/network/parse_http_client.dart';
+part of flutter_parse_sdk;
 
 class ParseUser {
   ParseHTTPClient _client;
@@ -16,7 +10,7 @@ class ParseUser {
     client != null ? _client = client : _client = ParseHTTPClient();
 
     if (_debug == null) {
-      _client.data.debug != null ? _debug = _client.data.debug : false;
+      _client.data.debug != null ? _debug = _client.data.debug : _debug = false;
     } else {
       _debug = _debug;
     }
@@ -33,10 +27,9 @@ class ParseUser {
     } else if (fromServer == false) {
       return User.instance;
     } else {
-
       Uri tempUri = Uri.parse(_client.data.serverUrl);
 
-      Uri uri= Uri(
+      Uri uri = Uri(
           scheme: tempUri.scheme,
           host: tempUri.host,
           path: "${tempUri.path}/users/me");
@@ -140,7 +133,7 @@ class ParseUser {
     var responseString = ' \n';
 
     responseString += "----"
-        "\n${_client.data.appName} API Response ($className : ${getEnumValue(type)}) :";
+        "\n${_client.data.appName} API Response ($className : ${ParseApiUserCallTypeUtils.getEnumValue(type)}) :";
 
     if (response.statusCode == 200 || response.statusCode == 201) {
       responseString += "\nStatus Code: ${response.statusCode}";
diff --git a/lib/src/utils/parse_utils_date.dart b/lib/src/utils/parse_utils_date.dart
new file mode 100644
index 000000000..be8f6cc0d
--- /dev/null
+++ b/lib/src/utils/parse_utils_date.dart
@@ -0,0 +1,18 @@
+part of flutter_parse_sdk;
+
+DateTime convertStringToDateTime(String date) {
+  if (date == null) return null;
+
+  var formatter = DateFormat(ParseConstants.PARSE_DATE_FORMAT);
+  var dateToReturn = formatter.parse(_removeTimeZones(date));
+  return dateToReturn;
+}
+
+String _removeTimeZones(String date) {
+  // TODO - library doesn't support timezones. Monitor this
+  if (date.contains('zzzZ')) {
+    return date.replaceRange(date.length - 4, date.length, '');
+  } else {
+    return date;
+  }
+}
diff --git a/lib/utils/parse_utils_objects.dart b/lib/src/utils/parse_utils_objects.dart
similarity index 67%
rename from lib/utils/parse_utils_objects.dart
rename to lib/src/utils/parse_utils_objects.dart
index 6a143a202..799d0bb38 100644
--- a/lib/utils/parse_utils_objects.dart
+++ b/lib/src/utils/parse_utils_objects.dart
@@ -1,6 +1,4 @@
-import 'package:parse_server_sdk/base/parse_constants.dart';
-import 'package:parse_server_sdk/objects/parse_object.dart';
-import 'package:parse_server_sdk/utils/parse_utils_date.dart';
+part of flutter_parse_sdk;
 
 populateObjectBaseData(ParseObject object, Map<String, dynamic> objectData) {
   object.set(ParseConstants.OBJECT_ID, objectData[ParseConstants.OBJECT_ID]);
diff --git a/lib/utils/parse_utils_date.dart b/lib/utils/parse_utils_date.dart
deleted file mode 100644
index be4d85824..000000000
--- a/lib/utils/parse_utils_date.dart
+++ /dev/null
@@ -1,20 +0,0 @@
-import 'package:parse_server_sdk/base/parse_constants.dart';
-import 'package:intl/intl.dart';
-
-  DateTime convertStringToDateTime(String date) {
-    if (date == null) return null;
-
-    var formatter = DateFormat(ParseConstants.PARSE_DATE_FORMAT);
-    var dateToReturn = formatter.parse(_removeTimeZones(date));
-    return dateToReturn;
-  }
-
-  String _removeTimeZones(String date) {
-    // TODO - library doesn't support timezones. Monitor this
-    if (date.contains('zzzZ')) {
-      return date.replaceRange(date.length - 4, date.length, '');
-    } else {
-      return date;
-    }
-  }
-
diff --git a/lib/utils/parse_utils_network.dart b/lib/utils/parse_utils_network.dart
deleted file mode 100644
index b494ae8ed..000000000
--- a/lib/utils/parse_utils_network.dart
+++ /dev/null
@@ -1,5 +0,0 @@
-import 'package:parse_server_sdk/base/parse_constants.dart';
-
-class ParseUtilsDates {
-
-}
diff --git a/pubspec.yaml b/pubspec.yaml
index c0442a4f0..b0def5fac 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
 name: parse_server_sdk
-description: A Flutter Parse Server SDK
-version: 0.0.3
+description: This is a Flutter plugin that allows communication with a Parse Server, (https://parseplatform.org) either hosted on your own server or another, like (http://Back4App.com). The plugin has lots of functionalitiy, please check the README for more info.
+version: 0.0.4
 homepage: https://github.com/phillwiggins/flutter_parse_sdk
 author: PhillWiggins <phill.wiggins@gmail.com>