часть функционала был вынужден исключить, т.к. использовались обращения к базам данных.