   defmacro using(do: block) do
     evaled = Code.eval_quoted(block, [], __CALLER__)
     {evaled, __usable__(block)}
-  end
-
-  defp __base__ do
-    quote do
-      import Phoenix.View
-      use Phoenix.Template, root:
-        Path.join(@view_root, Phoenix.Template.module_to_template_root(__MODULE__, "View"))
-    end
   end
 
   defp __usable__(block) do

    if root = Keyword.get(options, :root) do
      quote do
        @view_root unquote(root)
        unquote(__base__())
      end
    else
      raise "expected :root to be given as an option"

      @doc false
      defmacro __using__(opts) do
        root  = Keyword.get(opts, :root, @view_root)
        block = unquote(block)
        quote do
          use Phoenix.View, root: unquote(root)
          unquote(block)
          import unquote(__MODULE__), except: [render: 2]
        end
