    host_dst="192.168.3.5"
    zfs_root_dst="rpool/vm/jls/" # MUST ends with a /
    zfs_root_src="zroot/vm/jls/" # Must ands with a /
    jail_name="jlstest"
   
    # We assure that we have a config file adapted for the target host
    # Mainly interface change
    if [ ! -f "/etc/jail.conf.d/$jail_name.conf_$host_dst" ]; then
        echo "the destination config file does not exist: /etc/jail.conf.d/$jail_name.conf_$host_dst"
        echo "please correct that"
        exit 1
    fi
    
    # check the destination dataset exist
    if $(ssh root@$host_dst "/sbin/zfs list -o name -H | grep -q $zfs_root_dsti$jail_name"); then
       echo "dataset $zfs_root_dst$jail_name found on $host_dst"
    else
       echo "dataset $zfs_root_dst$jail_name not found on $host_dst"
       echo "exiting"
       exit 1
    fi
   
    # Getting the mount point at destination
    mount_point_dst=$(ssh root@$host_dst "/sbin/zfs get -H -o value mountpoint $zfs_root_dst$jail_name")
    echo "mount point: $mount_point_dst ***"
    
    # Create a uniq snapshot name
    snap_date="$(date +%Y%m%d-%H%M%S)_final"
    
    # Getting the last snapshots
    existing_snaps_src=$(/sbin/zfs list -t snap -o name -s creation -H | grep $zfs_root_src$jail_name)
    nbr_existing_snaps_src=$(echo "$existing_snaps_src" | wc -l)
    if [ "$nbr_existing_snaps_src" -lt 1 ]; then
       echo "We have no snaptshots on this machine for $zfs_root_src$jail_name"
       echo "please solve this"
       exit 1
    fi
    
    existing_snap_dst=$(ssh root@$host_dst "/sbin/zfs list -t snap -o name -H | grep $zfs_root_dst$jail_name | tail -n 1")
    if [ -n "$existing_snap_dst" ]; then
       echo "test ok"
    fi
    
    # Finally, we a re ready to stop the Jail and send it to destination 
    if [ -n "$existing_snap_dst" ]; then
        echo "We are stopping $jail_name $(date "+%Y-%m-%d %H:%M:%S.%N")"
        /usr/sbin/jail -r $jail_name || { echo "Failed to stop the jail $jail_name"; exit 1;}
        echo "jail $jail_name stopped"
        echo "create snapshot: $zfs_root_src$jail_name@$snap_date"
        /sbin/zfs snapshot $zfs_root_src$jail_name@$snap_date  || { echo "Failed to make a snapshot of $zfs_root_src$jail_name on this machne"; exit 1;}
        prev_snap_src=$(echo "$existing_snaps_src" | tail -n 1)
        echo "send incremental snapshot $prev_Snap_src with $zfs_root_src$jail_name@$snap_date to $host_dst in $zfs_root_dst$jail_name"
        /sbin/zfs send -v -i $prev_snap_src $zfs_root_src$jail_name@$snap_date | ssh root@$host_dst /sbin/zfs receive -v -F $zfs_root_dst$jail_name || { echo "Failed to send $zfs_root_src$jail_name to $host_dst in $zfs_root_dst$jail_name"; exit 1;}
        echo "copy config file /etc/jail.conf.d/$jail_name.conf to $host_dst:/etc/jail.cond.d"
        cat /etc/jail.conf.d/$jail_name.conf_$host_dst | ssh root@$host_dst " cat > /etc/jail.conf.d/$jail_name.conf" || { echo "Failed to copy /etc/jail.conf.d/$jail_name.conf to $host_dst"; exit 1;}
        echo "starting Jail $jail_name on $host_dst"
        ssh root@$host_dst "/usr/sbin/jail -c $jail_name" || { echo "Failed to start jail $jail_name on $host_dst"; exit 1;}
        echo "Jail restarted on $host_dst at $(date "+%Y-%m-%d %H:%M:%S.%N")"

        # We should remove the dataset on the source host
    else
       echo "No snapshots found on $host_dst"
       echo "Execute the move_prepa first"
       exit 1
    fi
    
