     for index, i in iterator then do (index, i) =>
       @playTimeouts.push setTimeout (=> @activateFrame index), i * 500
 
-    @playTimeouts.push setTimeout @pause, i * 500
-
-  pause: =>
-    clearTimeout timeout for timeout in @playTimeouts
-    @playTimeouts.splice 0
+    @el.removeClass 'playing'
     @playButton.attr 'disabled', false
-    @el.removeClass 'playing'
-    @enableMarkingSurfaces()
-    # @markingSurfaceList.enable()
+    @enableMarkingSurfaces
 
   activateFrame: (@active) ->
     @active = modulus +@active, @classification.subject.location.standard.length
     @setAsteroidFrame(@active)
-    # update artifact marking
     @showFrame(@active)
 
   setCurrentFrameIdx: (frame_idx) ->


  onClickPlay: ->
    return if @el.hasClass 'playing'  # play only once at a time

    @playButton.attr 'disabled', true
    @el.addClass 'playing'
    @disableMarkingSurfaces()
    # @markingSurfaceList.disable()   # no marking while playing
    # flip the images back and forth once
    last = @classification.subject.location.standard.length - 1
    iterator = [0...last].concat [last...-1]

    # find way to communicate current frame with marking tool
    @el.attr 'data-on-frame', @currFrameIdx

  showFrame: (frame_idx) ->
    @el.find("#frame-id-#{frame_idx}").hide() for i in [0...4]
    @el.find("#frame-id-#{frame_idx}").show()
    @el.find("#frame-slider").val frame_idx
    @setCurrentFrameIdx(frame_idx)

  destroyFrames: ->
    for image, i in @el.find('.frame-image')
