fixed intersection snap pt, refactoring