 		task.resume()
 
 	}
+	
+	public func retrieve<ResponseType: BaseModel>(completion:(response: [ResponseType])->()){
+		let request = serviceParameters.request
+		request.HTTPMethod = "GET"
+		
+		/* Start a new Task */
+		let task = session.dataTaskWithRequest(request, completionHandler: { [unowned self] (data, response, error) -> Void in
+			self.responseController.handleResponse((data: data, urlResponse: response, error: error), completion: completion)
+		})
+		
+		task.resume()
+		
+	}
 }

		session = NSURLSession(configuration: sessionConfig, delegate: nil, delegateQueue: nil)
	}
	
	public func saveBody<BodyType: BaseModel, ResponseType: BaseModel>(body: BodyType, completion:(response: ResponseType)->()){
		let request = serviceParameters.request
		request.HTTPMethod = "POST"
		

			request.HTTPBody = try? NSJSONSerialization.dataWithJSONObject(bodyObject, options: .PrettyPrinted)
		}
		
		let task = session.dataTaskWithRequest(request, completionHandler: { [unowned self] (data, response, error) -> Void in
			self.responseController.handleResponse((data: data, urlResponse: response, error: error), completion: completion)
		})
