module: generate from template