add command line option reading, file reading, a template and _.string