funcitoning board_dup method and valid_move_sequence? method
functional perform_moves method