modified class inheritance and handle