Major speed improvement to stage 1, added lastFullCollectionCheck. Tweaking stage 2