окончательная версия, но не работает. хотя ошибок в коде не показывает.