Author: Rashit Dzhamalievich Zabirov