needs to check for overlaps