add assign vnode
implement state handoff
implement the majority of the assign method