Fixed problem with wasted checks, now ~6x more efficient