support for contracts inheritance and overrides