added establishDesiredCleaningFrequency()