added different inheritances