refactor shot positioning