when in doubt, refactor