     @messagebox.fadeIn(600)
 
   handleEvent: (event) =>
-    if @status == 'playing'
+    if event.which == 27 or event.which == 8
+      @playAgain(@maze.dimensions[0])
+    else if @status == 'playing'
       if event.which == 82 # R key
         @goUp()
       else if event.which == 70 # F key

    @messagebox.html('<p>' + @currentMessage() + '</p>')
    if @maze.isFinish([@x, @y, @z])
      @freeze()
      @messagebox.append($('<p></p>').append(@makeActionLink('<span class=shortcut>t</span>weet', => @tweet())).append('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;').append(@makeActionLink('<span class=shortcut>p</span>lay again', => @playAgain())))
    if [@x, @y, @z] of @maze.portals
      level = @maze.portals[[@x, @y, @z]]
      @destroy( =>

        @goRight()
      else if event.which == 40 # Down key
        @goBackward()
    else if @status == 'frozen'
       if event.which == 80 # P key
         @playAgain(@maze.dimensions[0] + 1)
       else if event.which == 84 # T key
         @tweet()

