Author: Vladimier S. Cherkassky