define primitive template