typename instead of class for base templates.