about to switch to pre-declared templates
Compiles, pre-declaration of templates work. The problem turned out to
be that all functions of a pure virtual class must be pure virtual, and
make sure you impelement everything in the derived