change housekeepingTimer to retain