better metaprog post