don't use a common rand across goroutines