intersection done (but, sadly, slower than the original method)...