require non-overlapping obstacles