Add some metaprogramming.