add windows version for randomness and minor changes
merge