Moved more code into the base class.