added shuffle option
fix: typo
rework: variable names
add: comments
fix: removed not needed define
added: commenting work