component generator template complete