Decided against the metaprogramming for now.