TODO:
- add random generator (maybe mersene twister)
-