Added Intersection to basic framework
Replaced pragmas with include guards for support on multiple platforms