     # Downloading #{file}
     """
     S.lock({Hypnotoad.Host.SSH.Connection, conn})
-    {:ok, sftp_channel} = :ssh_sftp.start_channel(conn)
+    {:ok, sftp_channel} = sftp_channel(conn)
     {:ok, data} = :ssh_sftp.read_file(sftp_channel, file)
     :ssh_sftp.stop_channel(sftp_channel)
     S.unlock({Hypnotoad.Host.SSH.Connection, conn})

  	{:noreply, s}
  end

end

defmodule Hypnotoad.Host.SSH.Channel.Sup do

    # ))
    """
    S.lock({Hypnotoad.Host.SSH.Connection, conn})
    {:ok, sftp_channel} = sftp_channel(conn)
    :ok = :ssh_sftp.write_file(sftp_channel, Path.join(["/", "tmp", splitter]), file_content)
    :ssh_sftp.stop_channel(sftp_channel)
    S.unlock({Hypnotoad.Host.SSH.Connection, conn})
    S.lock({Hypnotoad.Host.SSH.Connection, conn})
    {:ok, ch} = channel(conn)
    unless user == "root" do
    	:ssh_connection.exec(conn, ch, String.to_char_list!("sudo sh -c 'sh /tmp/#{splitter} ; echo $? > /tmp/#{splitter}' ; E=`cat /tmp/#{splitter}` ; rm -f /tmp/#{splitter}; exit $E"), :infinity)
    else 
