#1 refactoring.