Вообще это не очень хорошо --  объявлять большую функцию в середине огромной функции