Функционал +- написан,
Соответствие ТЗ не проверено.