This is my implementation of mv