     
     :returns: NSMutableURLRequest object to request your access token.
     */
-    class func requestForOAuth2AppOnly(#username:String, password:String, clientID:String, secret:String) -> NSMutableURLRequest {
+    public class func requestForOAuth2AppOnly(#username:String, password:String, clientID:String, secret:String) -> NSMutableURLRequest {
         var URL = NSURL(string: "https://ssl.reddit.com/api/v1/access_token")!
         var request = NSMutableURLRequest(URL:URL)
         request.setRedditBasicAuthentication(username:clientID, password:secret)

    
    :returns: Data task which requests search to reddit.com.
    */
    class func getOAuth2AppOnlyToken(#username:String, password:String, clientID:String, secret:String, completion:(Result<OAuth2AppOnlyToken>)->Void) -> NSURLSessionDataTask {
        let session:NSURLSession = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
        let request = requestForOAuth2AppOnly(username:username, password:password, clientID:clientID, secret:secret)
        let task = session.dataTaskWithRequest(request, completionHandler: { (data:NSData!, response:NSURLResponse!, error:NSError!) -> Void in

    
    :returns: Result object. If succeeded, it includes OAuth2AppOnlyToken with a new access token.
    */
    public class func tokenWithJSON(json:JSON) -> Result<OAuth2AppOnlyToken> {
        var token:OAuth2AppOnlyToken? = nil
        if let temp1 = json["access_token"] as? String,
            temp2 = json["token_type"] as? String,
