copy should actually copy
we expect these methods to return self.
test intersection method