       "BCM" <> _ ->  File.open @pi_temp, [:read]
       "sun" <> _ ->  File.open @banana_temp, [:read]
     end
-   temp = IO.binread(file_pid, :all)
+   temp = IO.binread(file_pid, :all) |> String.strip |> String.to_integer(10)
+   c = temp/1000
+   f = (c*1.8) + 32
+   %{@node_name => {c,f}}
   end
 
+  def distro() do
+    {:ok, file_pid} = File.open "/etc/os-release", [:read]
+     [distro] = Enum.filter IO.stream(file_pid, :line), &(String.contains?(&1, "PRETTY"))
+     distro_stripped =  String.split(distro, "=", trim: true) |> List.last |>  String.strip |> String.strip(?")
+    %{@node_name => distro_stripped}
+  end
 
-  def cpu_type() do
+  def cpu_name() do
+     %{@node_name => cpu_type}
+  end
+
+  defp cpu_type() do
      {:ok, file_pid} = File.open "/proc/cpuinfo", [:read]
       [hw] = Enum.filter IO.stream(file_pid, :line), &(String.contains?(&1, "Hardware"))
-      String.split(hw) |> List.last |> String.strip
+      String.split(hw, " ", trim: true) |> List.last |> String.strip
   end
 
   defp parse_net_stats(data) do

    %{@node_name => interfaces}
  end

  def net_stats() do
    {:ok, interface_info} = :inet.getifaddrs()
     {:ok, file_pid} = File.open "/proc/net/dev", [:read]

  @banana_temp "/sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/temp1_input"
  @pi_temp "/sys/class/thermal/thermal_zone0/temp"

  def cpu_perf() do
    %{@node_name => %{"avg1" => :cpu_sup.avg1,
                      "avg5" => :cpu_sup.avg5,
                      "avg15" => :cpu_sup.avg15,
                      "details" => :cpu_sup.util([:per_cpu])
                    }
      }
  end

  def disks() do
