added set intersection