a working refactor