added name generator and the start of some templating.