This must be overridden