Eliminating horrible Bag class by replacing its implementation with std::vector