Author: Andrei N. Tverdokhlebov