     print_percentage("ETS", :ets_count, :ets_limit)
     print_percentage("Ports", :port_count, :port_limit)
     print_percentage("Processes", :process_count, :process_limit)
-
-    IO.puts ""
-    dont_display_result()
+  end
+  defp print_runtime_info_topic(:applications) do
+    print_pane("Loaded OTP Applications")
+
+    started = Application.started_applications()
+
+    Application.loaded_applications()
+    |> Enum.sort_by(&elem(&1, 0))
+    |> Enum.each(fn {app, _, version} = loaded ->
+      IO.write pad_key(app)
+      IO.write String.pad_trailing("#{version}", 20)
+      if loaded in started do
+        IO.write "(started)"
+      end
+      IO.puts ""
+    end)
   end
 
   defp print_pane(msg) do

    print_entry("Compiled for", :erlang.system_info(:system_architecture))
    print_entry("Schedulers", :erlang.system_info(:schedulers))
    print_entry("Schedulers online", :erlang.system_info(:schedulers_online))

    print_pane("Memory")
    print_memory("Total", :total, :MB)
    print_memory("Atoms", :atom)

    |> Enum.map_join(", ", &inspect/1)
  end

  @runtime_info_topics [:system, :memory, :limits, :applications]
  @doc """
  Prints vm/runtime information such as versions, memory usage and statistics.
  Additional topics are available via `runtime_info/1`.
  """
  def runtime_info(), do: runtime_info([:system, :memory, :limits])

  @doc """
  Just like `runtime_info/0`, except accepts topic or a list of topics.
  E.g. topic `:applications` will list the applications loaded.
  """
  def runtime_info(topic) when is_atom(topic) and topic in @runtime_info_topics do
    topic
    |> List.wrap
    |> runtime_info
  end
  def runtime_info(topics) when is_list(topics) do
    topics
    |> Enum.uniq
    |> print_runtime_info
  end

  defp print_runtime_info(topics) do
    Enum.each(topics, &print_runtime_info_topic/1)
    IO.puts ""
    print_topic_info(topics)
    IO.puts ""
    dont_display_result()
  end

  defp print_topic_info(topics) when is_list(topics) do
    IO.write pad_key("Showing topics")
    IO.puts inspect(topics)
    IO.write pad_key("Additional topics")
    IO.puts inspect(@runtime_info_topics -- topics)
    IO.puts ""
    IO.puts "To view a specific topic call runtime_info(topic)"
  end

  defp print_runtime_info_topic(:system) do
    print_pane("System and architecture")

    print_entry("Elixir version", System.version)
