Refactoring after Yevgeniy review. part1