redefined upgrade