switching to the 1-pass method. It's not 100% correct but works much better with large datasets