--- /dev/null
+// Copyright 2017 The Hugo Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package time
+
+import (
+       "github.com/spf13/hugo/deps"
+       "github.com/spf13/hugo/tpl/internal"
+)
+
+const name = "time"
+
+func init() {
+       f := func(d *deps.Deps) *internal.TemplateFuncsNamespace {
+               ctx := New()
+
+               examples := [][2]string{
+                       {`{{ (time "2015-01-21").Year }}`, `2015`},
+               }
+
+               return &internal.TemplateFuncsNamespace{
+                       Name:    name,
+                       Context: func() interface{} { return ctx },
+                       Aliases: map[string]interface{}{
+                               "dateFormat": ctx.Format,
+                               "now":        ctx.Now,
+                               "time":       ctx.AsTime,
+                       },
+                       Examples: examples,
+               }
+
+       }
+
+       internal.AddTemplateFuncsNamespace(f)
+}
 
 
        bp "github.com/spf13/hugo/bufferpool"
        "github.com/spf13/hugo/deps"
-       "github.com/spf13/hugo/tpl/time"
        "github.com/spf13/hugo/tpl/transform"
        "github.com/spf13/hugo/tpl/urls"
 )
        cachedPartials partialCache
 
        // Namespaces
-       time      *time.Namespace
        transform *transform.Namespace
        urls      *urls.Namespace
 
                cachedPartials: partialCache{p: make(map[string]interface{})},
 
                // Namespaces
-               time:      time.New(),
                transform: transform.New(deps),
                urls:      urls.New(deps),
        }
 
        _ "github.com/spf13/hugo/tpl/os"
        _ "github.com/spf13/hugo/tpl/safe"
        _ "github.com/spf13/hugo/tpl/strings"
+       _ "github.com/spf13/hugo/tpl/time"
 )
 
 // Get retrieves partial output from the cache based upon the partial name.
 
                "absURL":        t.urls.AbsURL,
                "absLangURL":    t.urls.AbsLangURL,
-               "dateFormat":    t.time.Format,
                "emojify":       t.transform.Emojify,
                "highlight":     t.transform.Highlight,
                "htmlEscape":    t.transform.HTMLEscape,
                "htmlUnescape":  t.transform.HTMLUnescape,
                "int":           func(v interface{}) (int, error) { return cast.ToIntE(v) },
                "markdownify":   t.transform.Markdownify,
-               "now":           t.time.Now,
                "partial":       t.partial,
                "partialCached": t.partialCached,
                "plainify":      t.transform.Plainify,
                "relLangURL":    t.urls.RelLangURL,
                "relref":        t.urls.RelRef,
                "string":        func(v interface{}) (string, error) { return cast.ToStringE(v) },
-               "time":          t.time.AsTime,
                "urlize":        t.PathSpec.URLize,
        }
 
 
 relURL 2: {{ "mystyle.css" | relURL }}
 relURL 3: {{ mul 2 21 | relURL }}
 strings.TrimPrefix: {{ strings.TrimPrefix "Goodbye,, world!" "Goodbye," }}
-time: {{ (time "2015-01-21").Year }}
 urlize: {{ "Bat Man" | urlize }}
 `
 
 relURL 2: /hugo/mystyle.css
 relURL 3: /hugo/42
 strings.TrimPrefix: , world!
-time: 2015
 urlize: bat-man
 `