get rid of global variables (they get messed up because of static libraries)
make everything shared, static libraries make for awkward initialization
shared libraries ftw
remove inheritance of std::vector