intersection calculations
merge