Templated base class version -- compiles, doesn't work yet
Kinda works