working on derived class type inspection