Cleaned up changes to metaprogramming