Author: Terekhov, Vladimir.