refactor win_location, add exceptions if no winner