override is a keyword that is used the mark functions whose logic is overriding functions of the same signature in inherited contracts.
Base functions can be overridden by inheriting contracts to change their behavior if they are marked as
virtual. The overriding function must then use the
override keyword in the function header.