add move logic