finishing up templatization and vecbase inheritance