add freemarker template support