         case ReverseAuth
     }
     
-    public class func requestRequestToken(session: Session, xAuthMode: xAuthMode?, callback: String, handler: @escaping (String?, String?, NSError?) -> Void) {
+    public class func requestRequestToken(session: Session, xAuthMode: xAuthMode? = nil, callback: String = "oob", handler: @escaping (String?, String?, NSError?) -> Void) {
         guard let url = URL.twitterOAuthURL(endpoint: "request_token") else {
             handler(nil, nil, Error.unknown)
             return

        }
    }
    
    public class func requestAccessToken(requestToken: String, requestTokenSecret: String, oAuthVerifier: String, handler: (String, String) -> Void) {
        
    }
    
    internal class func authorizationHeader(queryItems: [URLQueryItem] = [], oauthItems: [String:String] = [:], HTTPMethod: String, url: URL, consumerKey: String, consumerSecret: String, token: String? = nil, tokenSecret: String? = nil) throws -> String {

            urlRequest.httpMethod = httpMethod
            
            var oauthItems = ["oauth_callback": callback]
            
            // TODO: xAuth
            
            let authorizationHeader = try self.authorizationHeader(oauthItems: oauthItems, HTTPMethod: httpMethod, url: url, consumerKey: session.consumerKey, consumerSecret: session.consumerSecret)
            
