Added parallel collection processing to speed it up