Refactoring part 2 /*большой*/