consider isinstance here instead to allow for derived classes to be interoperable with this class?