Added explicit inheritance and tests