preparing to refactor