deal with overlaps better (but still not well, this needs work)