much faster, removed randomness