длинные блоки в when  лучше вынести в отдельные методы