first pass refactoring to make fixing jumping