       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
 


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

  execute: (requested_action) ->
    ra = requested_action

    x = @botx + dir.dx
    y = @boty + dir.dy

    if @isMoveAllowed(x,y)
      if @active_program? 
        if @isCurrentActionBlank()
          @execute({type: 'move', dir: dir})
      else
        # free movement
        @botx = x
