register + template