move, then magic
cleanup