improve UX of module.new
implement .set() template tag function