decouple repeated from std::vector