Author: Khmelnitsky Bogdan. Turchinskii Vladimir.