metaprogramming statics