moved templates into separate modules