added some definations and a template