         callback()
 
     @isFoldedUp = false
-    for panel, i in @panels[@lastAnchor]
-      unless i is 0
-        delay = i * @settings.speed * .6
-        console.log delay
-
-        do (i, delay) =>
-
-          setTimeout =>
-            @panels[@lastAnchor][i].style.display = 'block'
-            @panels[@lastAnchor][i].style[css.transform] = @_transform 0
-            if @shading
-              @_setShader i, @lastAnchor, 0
-
-          , delay
+    i = 1
+    angle = 0
+
+    nextPanel = =>
+      @panels[@lastAnchor][i].style.display = 'block'
+      setTimeout =>
+        @panels[@lastAnchor][i].addEventListener css.transitionEnd, onTransitionEnd, false
+        @panels[@lastAnchor][i].style[css.transform] = @_transform angle
+        if @shading
+          @_setShader i, @lastAnchor, angle
+      , 0
+    
+    onTransitionEnd = (e) =>
+      @panels[@lastAnchor][i].removeEventListener css.transitionEnd, onTransitionEnd, false
+      if ++i is @panels[@lastAnchor].length
+        callback()
+      else
+        setTimeout nextPanel, 0
+
+    nextPanel()
 
 
 

    anchor = @_getLonghandAnchor args[1]
    options = extendObj args[2], @_methodDefaults[method]

    if anchor isnt @lastAnchor or (method is 'foldUp' and @lastAngle isnt 0)
      
      @reset =>
        @_showStage anchor

        setTimeout =>

          if method is 'foldUp' or method is 'unfold'
            args.shift()

          @[method].apply @, args

    return unless normalized
    anchor = normalized[1]
    @isFoldedUp = true
    i = @panels[anchor].length - 1
    angle = 100

    nextPanel = =>
      @panels[anchor][i].addEventListener css.transitionEnd, onTransitionEnd, false
      @panels[anchor][i].style[css.transform] = @_transform angle
      if @shading
        @_setShader i, anchor, angle

    onTransitionEnd = (e) =>
      @panels[anchor][i].removeEventListener css.transitionEnd, onTransitionEnd, false
      @panels[anchor][i].style.display = 'none'
      if --i is 0
        @_callback callback
      else
        setTimeout nextPanel, 0

    nextPanel()


  unfold: (callback) ->
