 
         # play function for intern use
         _play: ->
-            this._step++
-            anm = this._stack[this._step]
+            this._step += 1
+            if this._direction
+                step = this._step
+            else
+                step = this._stack.length - 1 - this._step
+
+            
+            anm = this._stack[step]
             if anm?
                 # before animation function
                 anm.beforeAnimation() if typeof anm.beforeAnimation == "function"

            this._callback = undefined
            this._step = -1
            this._stack = []

    window.Moon = Moon
        this._stack = []
        this._step = -1
        this._prefixes = {}
        this._loop = 1
        this._direction = true

        return this

