basic stucture for upgrade