- make it pure virtual classes, not globals (?)
