Author: Andrei Ivanovich Merkushev