code: func New() *LARS {
  
  	l := &LARS{
  		routeGroup: routeGroup{
  			middleware: make(HandlersChain, 0),
  		},
  		trees: make(map[string]*node),
  		contextFunc: func(l *LARS) Context {
  			return NewContext(l)
  		},
  		mostParams:                 0,
  		http404:                    []HandlerFunc{default404Handler},
  		http405:                    []HandlerFunc{methodNotAllowedHandler},
  		redirectTrailingSlash:      true,
  		handleMethodNotAllowed:     false,
  		automaticallyHandleOPTIONS: false,
  	}
  
  	l.routeGroup.lars = l
  	l.pool.New = func() interface{} {
  
  		c := l.contextFunc(l)
  		b := c.BaseContext()
  		b.parent = c
  
  		return b
  	}
  
  	return l
  }
docs: // New Creates and returns a new lars instance