Got the metaprogramming working