no need for Template class