piece_has_move remade