Tokenizer now takes a std::string as input. Working on improving error handling when loading templates.