users std::random instead of boost::random