use better way to transfer