added intersection computation