     end
    config
   end
+
+  def gen_page_controller(config) do
+    fname = "talon_page_controller.ex"
+    binding = Kernel.binding() ++ [base: config.base,
+      boilerplate: config[:boilerplate], web_namespace: config.web_namespace]
+    target_path = Path.join([config.web_path, "controllers", "talon"])
+    unless config.dry_run do
+      File.mkdir_p! target_path
+      copy_from paths(),
+        "priv/templates/talon.new/web/controllers", target_path, binding, [
+          {:eex, fname, fname},
+        ], config
+    end
+   config
+  end
+
+  defp gen_dashboard_page(%{dashboard: true} = config) do
+    fname = "dashboard.ex"
+    binding = Kernel.binding() ++ [base: config.base, boilerplate: config[:boilerplate]]
+    source_path = "priv/templates/talon.new/talon"
+    target_path = "lib/#{config.app}/talon"
+    unless config.dry_run do
+      File.mkdir_p! target_path
+      copy_from paths(), source_path, target_path, binding, [{:eex, fname, fname}], config
+    end
+   config
+  end
+  defp gen_dashboard_page(config), do: config
 
   def gen_web(config) do
     fname = "talon_web.ex"

      theme: opts[:theme] || @default_theme,
      verbose: bin_opts[:verbose],
      dry_run: bin_opts[:dry_run],
      package_path: get_package_path(),
      app: Mix.Project.config |> Keyword.fetch!(:app),
      project_structure: proj_struct,

    |> verify_project!
    |> gen_talon_context
    |> gen_controller
    |> gen_page_controller
    |> gen_dashboard_page
    |> gen_web
    |> gen_messages
    |> gen_theme
