def cover_square(request, caller_context, container_user, chamber_character_name, grid_pos_x, grid_pos_y):
    ''' data only call, json response
    '''
    chamberController = ChamberController()
    chamber_character = Character.get_by_key_name(chamber_character_name)
    if not chamber_character:
        raise Exception('chamber owner character not found')
    
    uncover_square_result, info = chamberController.cover_dig_square(caller_context.config, container_user, chamber_character, int(grid_pos_x), int(grid_pos_y))
    
    if uncover_square_result:
        square = info # if success, info contains the item to return
        response_square = {
                             'gridPosX' : square.position_x,
                             'gridPosY' : square.position_y
                          }
        response =  { 'success' : True,
                      'square' : response_square
                    }
    else:
        response = { 'success' : False,
                     'reason' : info
                   }

    include_experience_data = False
    return json_response(caller_context, container_user, response, include_experience_data)