       return false
 
     if @allowed_move?
-      console.log('allowed ' +@allowed_move.x+','+@allowed_move.y)
       if @allowed_move.x != x or @allowed_move.y != y
         return false
 

        @installMapping(@active_mapping, requested_action,
                        @currentInstruction())
        @updateProgram()
        # recursively execute the command
        return @execute(requested_action)

    @pc += 1
    if @pc == @active_program.code.length


  translateInstruction: (instruction) ->
    return @active_mapping.mapCode(instruction)

  isCurrentActionBlank: () ->
    return (@active_program &&
            @translateInstruction(@currentInstruction()).type == 'blank')

  execute: (requested_action) ->
    ra = requested_action
