gathered all meta programming in MetaUtils class