works, but slow, needs better randomizer