refactoring #80