Marking methods as virtual so they can easily be overridden.