         return dataTask
     }
     
-    
+    private func getResource(entity: NSEntityDescription, withID resourceID: UInt, URLSession: NSURLSession, completionBlock: ((error: NSError?, managedObject: NSManagedObject?) -> Void)) -> NSURLSessionDataTask {
+        
+        // build URL
+        
+        let resourcePath = self.resourcePathForEntity(entity)
+        
+        
+    }
     
     
     // MARK: Cache

            
            return NSJSONWritingOptions.allZeros;
        }
    }
    
    // MARK: API

        })
    }
    
    public func fetchEntity(name: String, resourceID: UInt, URLSession: NSURLSession, completionBlock: ((error: NSError?, managedObject: NSManagedObject?) -> Void)) -> NSURLSessionDataTask {
        
        let entity = self.model.entitiesByName[name]! as NSEntityDescription
        
        return self.getResource(entity, withID: resourceID, URLSession: URLSession, completionBlock: { (error, managedObject) -> Void in
            
            if error != nil {
                
                completionBlock(error: error, managedObject: nil)
                
                return
            }
            
            
        })
    }
    
    // MARK: - Internal Methods
    
