refactor player and shot classes