replaced QList with std::vector