refactor #2