It works but it's horribly inefficient. We can just use one of the intersection class methods for this.