         return pageNumber
     }
     
-    public init?(requestParams params: [BreweryRequestParam: String]) {
-        guard let url = requestBuilder.buildRequest(params) where params.count != 0 else {
+    public init?(requestParams params: [BreweryRequestParam: String], orderParam order: (BreweryRequestOrderParam, String)) {
+        guard let url = requestBuilder.buildRequest(params, orderParam: order) where params.count != 0 else {
             return nil
         }
         
         requestParams = params
+        orderParameter = order
         request = url
     }
     

        newParams[.PageNumber] = "\(newPageNumber)"
        pageNumber = newPageNumber
        
        guard let url = requestBuilder.buildRequest(newParams) else {
            completionHandler(breweries: nil)
            return
        }

    case PageNumber = "p"
}

public enum BreweryRequestOrderParam: String {
    case Name = "name"
    case Description = "description"
    case Website = "website"
    case Established = "established"
    case MailingListURL = "mailingListURL"
    case IsOrganic = "isOrganic"
    case Status = "status"
    case CreateDate = "createDate"
    case UpdateDate = "updateDate"
    case Random = "random"
}

public class BreweryRequest {
    private var pageNumber = 0
    private let requestBuilder = RequestBuilder(endPoint: .Breweries)
    private var request: NSURLRequest
    
    public let requestParams: [BreweryRequestParam: String]
    public var orderParameter: (BreweryRequestOrderParam, String)?
    public var requestURL: NSURLRequest {
        return request
    }
