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