Memory v3  - msquarednet pull request

here goes nothing
?
Minor style note: I would probably have `getRandomVal()` return the value and not actually assign it until a valid one is found.