added freemarker integration