Author: Makhmut Gareev and Vladimir Slipchenko