call super in inherited to allow overriding