add Template support