Made move*() safer by aborting if it cannot get to the destination