refactoring #33