финальная версия с коментариями