class and templates