   @banana_temp "/sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/temp1_input"
   @pi_temp "/sys/class/thermal/thermal_zone0/temp"
 
-
-  def cpu() do
-    cpu_details = :cpu_sup.util([:per_cpu])
-    %{@node_name => %{avg1: :cpu_sup.avg1, avg5: :cpu_sup.avg5, avg15: :cpu_sup.avg15, details: cpu_details }}
+  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

    %{@node_name => interfaces}
  end

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

      "BCM" <> _ ->  File.open @pi_temp, [:read]
      "sun" <> _ ->  File.open @banana_temp, [:read]
    end
   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_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, " ", trim: true) |> List.last |> String.strip
  end

  defp parse_net_stats(data) do
