explicit virtual/override