oops. renamed union() -> intersection()