using cloning technique to make sure move is valid