         self.frameCount = frameCount
     }
 
-    /// Create a GIF from a movie stored at the given URL, trimmed to a specific section.
-    ///
-    /// :param: startTime The time at which to start the gif, trimmed out of the source file.
-    /// :param: duration The length of time from startTime to include in the trimmed file.
-    /// :param: frameRate The framerate desired for the resultant 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 allows you to choose a start time and duration in the source material that will be used to create the GIF which meets the 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.
+            - startTime: The time in seconds in the source material at which you want the GIF to start.
+            - duration: The duration in seconds that you want to pull from the source material.
+            - frameRate: The desired frame rate of the outputted 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?, startTime: Float, duration: Float, frameRate: Int, 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 {

    /// The destination path for the generated file.
    private var destinationFileURL: NSURL?
    
    /**
        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)
