Add template as class parameter

Add the possibility to extend it and change the template