refactoring #14