add public for template