#9 refactoring.