refactor #5