faster without intersection