     /// The destination path for the generated file.
     private var destinationFileURL: NSURL?
     
-    /// Create a GIF from a movie stored at the given URL.
-    ///
-    /// :param: frameCount The number of frames to include in the gif; each frame has the same duration and is spaced evenly over the video.
-    /// :param: delayTime The amount of time each frame exists for in the GIF.
-    /// :param: loopCount The number of times the GIF will repeat. This defaults to 0, which means that the GIF will repeat infinitely.
+    /**
+        Create a GIF from a movie stored at the given URL. This converts the whole video to a GIF meeting the requested output parameters.
+
+        - parameters:
+            - sourceFileURL: The source file to create the GIF from.
+            - destinationFileURL: An optional destination file to write the GIF to. If you don't include this, a default path will be provided.
+            - frameCount: The number of frames to include in the gif; each frame has the same duration and is spaced evenly over the video.
+            - delayTime: The amount of time each frame exists for in the GIF.
+            - loopCount: The number of times the GIF will repeat. This defaults to `0`, which means that the GIF will repeat infinitely.
+     */
     public init(sourceFileURL: NSURL, destinationFileURL: NSURL?, frameCount: Int, delayTime: Float, loopCount: Int = 0) {
         self.sourceFileURL = sourceFileURL
         self.asset = AVURLAsset(URL: sourceFileURL, options: nil)

            return nil
        }
    }
    
    /// Create a GIF using the given time points in a movie file stored at the URL provided.
    ///
    /// :param: timePoints An array of `TimePoint`s (which are typealiased `CMTime`s) to use as the frames in the GIF.
    /// :param: URL The URL of the video file to convert
    /// :param: fileProperties The desired attributes of the resulting GIF.
    /// :param: frameProperties The desired attributes of each frame in the resulting GIF.
    public func createGIFForTimePoints(timePoints: [TimePoint], fileProperties: [String: AnyObject], frameProperties: [String: AnyObject], frameCount: Int) throws -> NSURL {
        // Ensure the source media is a valid file.
        guard asset.tracksWithMediaCharacteristic(AVMediaCharacteristicVisual).count > 0 else {

    public init(sourceFileURL: NSURL, startTime: Float, duration: Float, frameRate: Int, loopCount: Int = 0) {
        self.init(sourceFileURL: sourceFileURL, destinationFileURL: nil, startTime: startTime, duration: duration, frameRate: frameRate, loopCount: loopCount)
    }

    /**
        Get the URL of the GIF created with the attributes provided in the initializer.

        - returns: The path to the created GIF, or `nil` if there was an error creating it.
    */
    public func createGif() -> NSURL? {

        let fileProperties = [kCGImagePropertyGIFDictionary as String:[
