add templates, migrate generation from a module to a class in order to have instance variables for settings