Added some intersection functions (may be buggy)