Более-менее рабочая.