 
 public extension Warp {
     public class Query <Class> where Class: Warp.Object {
-        fileprivate var queryConstraints: [WarpQueryConstraint] = []
-        fileprivate var queryBuilder: WarpQueryBuilder = WarpQueryBuilder()
         fileprivate let className: String
+        fileprivate var queryParameters: Warp.QueryBuilder.Parameters = Warp.QueryBuilder.Parameters()
+        fileprivate var queryBuilder: Warp.QueryBuilder {
+            return Warp.QueryBuilder(parameters: self.queryParameters)
+        }
         
         init(className: String) {
             self.className = className

        
        let endPoint: String = warp.generateEndpoint(.users(id: nil))
        
        let request = Warp.API.get(endPoint, parameters: queryBuilder.query(queryConstraints).param, headers: warp.HEADER())
        
        _ = request.warpResponse { (warpResult) in
            switch warpResult {

        
        let endPoint: String = warp.generateEndpoint(.classes(className: self.className, id: nil))
        
        let request = Warp.API.get(endPoint, parameters: self.queryBuilder.dictionary, headers: warp.HEADER())
        
        _ = request.warpResponse { (warpResult) in
            switch warpResult {
