implemented create_move