implemented inherits