main upgrade