added in some metaprogramming tools.