refactor #7