Выполнено не совсем по ТЗ, но работает же