change std::queue to custom queue in system tuple
change destructor of basic system to non pure virtual and default it. its not necessary since update is pure virtual