added rudimentary without
created my own loose intersection, and _'s union
added intersection after trying several different methods