implement move
solve merge conflict