ещё немного рефакторинга