just playing with some meta programming for an internal project