basic refactoring #1