change class_template to not use auto