Add move_piece functionality