https://alloder.pro/forums/topic/1464-classplates/?do=findComment&comment=33007