implemented generic move updating