* Todo - [X] impl rng - [ ] impl shuffling