>>278
meta programming is the right way