more work on intersection snap