moved from http://www.kohts.ru/code/mmmf/