Эта функция дважды повторяется. Это плохо, лучше вынести ее в отдельный класс.