#135 using Math.random() when user has not bothered to seed, this improves performance
merging randomseed improvement