       if opts.request is "refresh"
         params.type = "get"
         params.url = "https://springseed-oauth.herokuapp.com:443/refresh/skydrive?code=" + Sync.oauth.refresh_token
+
+      else if opts.request is "me"
+        params.type = "get"
+        params.url = "https://apis.live.net/v5.0/me?access_token=" + Sync.oauth.access_token
+
+      else if opts.request is "root"
+        params.type = "get"
+        params.url = "https://apis.live.net/v5.0/me/skydrive?access_token=" + Sync.oauth.access_token
+
+      else if opts.request is "makeappdir"
+        params.type = "post"
+        params.contentType = "application/json"
+        params.url = "https://apis.live.net/v5.0/me/skydrive/my_documents?access_token=" + Sync.oauth.access_token
+        params.data = '{"name": "Springseed", "description": "Springseed App Data"}'
+
+      else if opts.request is "findappdir"
+        params.type = "get"
+        params.url = "https://apis.live.net/v5.0/me/skydrive/my_documents/files?access_token=" + Sync.oauth.access_token
+
+      else if opts.request is "listappdir"
+        params.type = "get"
+        params.url = "https://apis.live.net/v5.0/" + Sync.syncMeta.folderid + "/files?access_token=" + Sync.oauth.access_token
+
+      else if opts.request is "download"
+        params.type = "get"
+        params.url = "https://apis.live.net/v5.0/" + Sync.syncMeta.map[opts.filename + ".seed"] + "/content?access_token=" + Sync.oauth.access_token
 
     params # return
 

        beforeSend: (xhr) ->
          xhr.setRequestHeader "Authorization", "Bearer " + Sync.oauth.access_token

      if opts.request is "download"
        params.type = "get"
        params.url = "https://api-content.dropbox.com/1/files/sandbox/" + opts.filename + ".seed"


            Sync.queue = {"Note": {}, "Notebook": {}}
            Sync.saveQueue()

  # It's *slightly* nicer having a function generating requests
  generateRequest: (opts) ->
    if Sync.oauth.service is "dropbox"
      params =
