consider inherited types