need to update to use <random>