changed implementation function of user: restore and remove