       argumentString = "(\(args.queryArgumentLiteral))"
     } else { argumentString = "" }
     
-    let fullQuery = "{\(self.queryTitle)\(argumentString){\(self.query.queryRepresentation)}}"
+    let fullQuery = "{\(self.queryTitle)\(argumentString){\(self.queryItems.map { return $0.queryRepresentation }.joinWithSeparator(","))}}"
     
     switch self.schemaType {
     case .Query:
-      return fullQuery
+      return "query=\(fullQuery)"
     case .Mutation:
-      return "mutation\(fullQuery)"
+      return "query=mutation\(fullQuery)"
     }
   }
 }


public struct GQLQuery {
  
  public init(withSchemaType schemaType: GQLSchemaType, withQueryTitle title: String, withQueryArguments arguments: [String: AnyObject]? = nil, withQuery query: GQLQueryItemType) {
    self.schemaType = schemaType
    self.queryTitle = title
    self.arguments = arguments
    self.query = query
  }
  
  public let schemaType: GQLSchemaType
  public let queryTitle: String
  public let arguments: [String: AnyObject]?
  public let query: GQLQueryItemType
  
  public var queryString: String {
    

  }
  
  public let keyDesignation: String
  public let fields: [GQLQueryItemType]?
  
  public var queryRepresentation: String {
    if let fields = self.fields {
