     
     func saveNode(node: Node, completionBlock: TheoNodeRequestCompletionBlock?) -> Void {
     
-        let nodeResource = self.baseURL + "/db/data/node"
+        let nodeResource: String = self.baseURL + "/db/data/node"
         let nodeURL: NSURL = NSURL(string: nodeResource)
         let nodeRequest: Request = Request(url: nodeURL, additionalHeaders: self.authHeaders)
         
-        nodeRequest.postResource(node.nodeData,
+        nodeRequest.postResource(node.nodeData, forUpdate: false,
             {(data, response) in
 
             if (completionBlock != nil) {


        println("relationshipResource " + relationshipResource)
        
        relationshipRequest.postResource(relationship.relationshipInfo,
                                         successBlock: {(data, response) in
                                            
                                            if (completionBlock != nil) {

                if let responseData: NSData = data {
                    
                    let JSON: AnyObject? = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.AllowFragments, error: nil) as AnyObject!
                    
                    if let JSONObject: AnyObject = JSON {
                        
                        let jsonAsDictionary: [String:AnyObject] = JSONObject as [String:AnyObject]
                        let node: Node = Node(data:jsonAsDictionary)
                        
                        completionBlock!(node: node, error: nil)
                        
                    } else {
                        
                        completionBlock!(node: nil, error: nil)
                    }
                    
                } else {
                    
                    completionBlock!(node: nil, error: nil)
                }
            }
            
            }, errorBlock: {(error, response) in
                
                if (completionBlock != nil) {
                    completionBlock!(node: nil, error: error)
                }
        })
    }
    
    func updateNode(node: Node, properties: [String:String], completionBlock: TheoNodeRequestCompletionBlock?) -> Void {

        let nodeID: String = node.meta!.nodeID()
        let nodeResource: String = self.baseURL + "/db/data/node/" + nodeID + "/properties"
        let nodeURL: NSURL = NSURL(string: nodeResource)
        let nodeRequest: Request = Request(url: nodeURL, additionalHeaders: self.authHeaders)
        
        nodeRequest.postResource(properties, forUpdate: true,
            successBlock: {(data, response) in
            
                if (completionBlock != nil) {
                    
                    if let responseData: NSData = data {
                        
                        let JSON: AnyObject? = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.AllowFragments, error: nil) as AnyObject!
                        
                        if let JSONObject: AnyObject = JSON {

                            let jsonAsDictionary: [String:AnyObject] = JSONObject as [String:AnyObject]
                            let node: Node = Node(data:jsonAsDictionary)
                            
                            completionBlock!(node: node, error: nil)

                        } else {

                            completionBlock!(node: nil, error: nil)
                        }

                    } else {

                        completionBlock!(node: nil, error: nil)
                    }
                }
            },
            errorBlock: {(error, response) in
                
                if (completionBlock != nil) {
                    completionBlock!(node: nil, error: error)
