overlap function modify