Implemented all the move methods