implemented upgrade and moves