completed refactor?