updated find_non_overlap