                     clearTimeout(nextTimeout)
                 , anm.delay + anm.duration
 
+                this._lastTimePlayed = new Date()
             # no more stacked animations
             else
                 this._step = -1


            # if not, try to find the prefix
            for pre in Moon.fn._vendorPrefixes
                property = Moon.fn._camelize(pre + propCap)
                if document.documentElement.style[property]?
                    Moon.fn._prefixes[prop] = property
                    return property


        # play the animation and sets the end callback
        play: (callback) ->
            this._callback = callback || this._callback
            this._play()
            return this

        # play function for intern use
        _play: ->

            # return the animations properties for a step
            getAnm = (step) =>
                # direction can change with loop("alternate")
                if !this._direction
                    step = this._stack.length - 1 - this._step

                # animation step
                return this._stack[step]

            anm = undefined
            # if is paused, we need to recaulate delay and duration
            if this._paused?
                anm = getAnm(this._step)

                timeDiff = this._paused - this._lastTimePlayed
                totalTime = anm.delay + anm.duration

                auxDelay = totalTime - timeDiff - anm.duration
                auxDuration = totalTime - timeDiff

                console.log (auxDelay + " | " + auxDuration)

                if auxDelay < 0
                    anm.delay = 0
                else
                    anm.delay = auxDelay

                if auxDuration < anm.duration
                    anm.duration = auxDuration

                console.log anm.delay + " | " + anm.duration

                this._paused = null
                this._isResuming = true

            else
                this._step += 1
                anm = getAnm(this._step)
            
            if anm?
                # before animation function
                anm.before() if typeof anm.before == "function"
