initial attempt at using templates instead of DSL -- fucking turtles