     end
   end
 
-  defdelegate system(suite), to: Benchee.System
-  defdelegate measure(suite, printer), to: Benchee.Benchmark
-  defdelegate measure(suite), to: Benchee.Benchmark
-
-  @doc """
-  Convenience access to `Benchee.Config.init/1` to initialize the configuration.
-  """
-  def init(config \\ %{}) do
-    Config.init(config)
-  end
-
-  @doc """
-  Convenience access to `Benchee.Benchmark.benchmark/3` to define the benchmarks
-  to run in this benchmarking suite.
-  """
-  def benchmark(suite, name, function) do
-    Benchmark.benchmark(suite, name, function)
-  end
-
-
-  @doc """
-  Convenience access to `Benchee.Statistics.statistics/1` to generate
-  statistics.
-  """
-  def statistics(suite) do
-    Statistics.statistics(suite)
-  end
+  defdelegate init(),                                    to: Benchee.Config
+  defdelegate init(config),                              to: Benchee.Config
+  defdelegate system(suite),                             to: Benchee.System
+  defdelegate measure(suite),                            to: Benchee.Benchmark
+  defdelegate measure(suite, printer),                   to: Benchee.Benchmark
+  defdelegate benchmark(suite, name, function),          to: Benchee.Benchmark
+  defdelegate benchmark(suite, name, function, printer), to: Benchee.Benchmark
+  defdelegate statistics(suite),                         to: Benchee.Statistics
 end

  defp run_benchmarks(jobs, config) do
    config
    |> Benchee.init
    |> Benchee.System.system
    |> Map.put(:jobs, jobs)
    |> Benchee.Benchmark.measure
    |> Statistics.statistics
  end

  defp output_results(suite = %{config: %{formatters: formatters}}) do

  Top level module providing convenience access to needed functions as well
  as the very high level `Benchee.run` API.
  """

  @doc """
  Run benchmark jobs defined by a map and optionally provide configuration
