Author: Kashif Dzhiganshievich Mukhamedshin