add overlap check