 
         let request = Request(URL: BaseURL, method: .GET, parameters: parameters, parse: { JSON -> Result<PaginatedAPIResponse<Track>, SoundcloudError> in
             return .Success(PaginatedAPIResponse(JSON, parse: parse))
-            }) { result in
-                completion(result.result!)
-        }
-        request.start()
-    }
-
-    /**
-    Load comments relative to a track
-
-    - parameter completion: The closure that will be called when the comments are loaded or upon error
-    */
-    public func comments(completion: PaginatedAPIResponse<Comment> -> Void) {
+        }) { result in
+            completion(result.result!)
+        }
+        request.start()
+    }
+
+    /**
+     Load comments relative to a track
+
+     - parameter trackIdentifier: The track identifier.
+     - parameter completion:      The closure that will be called when the comments are loaded or upon error
+     */
+    public static func comments(trackIdentifier: Int, completion: PaginatedAPIResponse<Comment> -> Void) {
         guard let clientIdentifier = Soundcloud.clientIdentifier else {
             completion(PaginatedAPIResponse(.CredentialsNotSet))
             return


        let request = Request(URL: URL, method: .GET, parameters: parameters, parse: { JSON -> Result<PaginatedAPIResponse<User>, SoundcloudError> in
            return .Success(PaginatedAPIResponse(JSON, parse: parse))
            }) { result in
                completion(result.result!)
        }
        request.start()
    }

    #if os(iOS) || os(OSX)
    /**
    Favorites a track for the logged user
    
    **This method requires a Session.**

    - parameter userIdentifier: The identifier of the logged user
    - parameter completion:     The closure that will be called when the track has been favorited or upon error
    */
    public func favorite(userIdentifier: Int, completion: SimpleAPIResponse<Bool> -> Void) {
        changeFavoriteStatus(true, userIdentifier: userIdentifier, completion: completion)
    }

    /**
     Unfavorites a track for the logged user
     
     **This method requires a Session.**

     - parameter userIdentifier: The identifier of the logged user
     - parameter completion:     The closure that will be called when the track has been unfavorited or upon error
     */
    public func unfavorite(userIdentifier: Int, completion: SimpleAPIResponse<Bool> -> Void) {
        changeFavoriteStatus(false, userIdentifier: userIdentifier, completion: completion)
    }

    private func changeFavoriteStatus(favorite: Bool, userIdentifier: Int, completion: SimpleAPIResponse<Bool> -> Void) {
        guard let clientIdentifier = Soundcloud.clientIdentifier else {
            completion(SimpleAPIResponse(.CredentialsNotSet))
            return

                return .Success(track)
            }
            return .Failure(.Parsing)
        }) { result in
            completion(SimpleAPIResponse(result))
        }
        request.start()
    }

    /**
     Load tracks with specific identifiers

     - parameter identifiers: The identifiers of the tracks to load
     - parameter completion:  The closure that will be called when tracks are loaded or upon error
     */
    public static func tracks(identifiers: [Int], completion: SimpleAPIResponse<[Track]> -> Void) {
        guard let clientIdentifier = Soundcloud.clientIdentifier else {
            completion(SimpleAPIResponse(.CredentialsNotSet))
