Do as much metaprogramming in code as possible

reduce the amount of code done with strings