inheritance (specialisation) based on templates