using davidbau's seedrandom