get upgrade working, still need to write test