changed class inheritance hierarchy