Author: Oleg Ivanovich Kudenko