рабочая, но неокончательная версия)