preparing to refactor again