implement player move method