add intersect operation (closes #7)