fix has for subclasses