Рабочаяя версия, требует дополнения и уточнения