like mv, but clever