Security

this currently uses random numbers via let mut rng = rand::thread_rng();