implemented upgrade/gatherer store. refactored upgrade/gatherer to be more extensible