code: func (h *HCL) Setup() error {
  	r, err := h.gen()
  	if err != nil {
  		return err
  	}
  
  	buf := new(bytes.Buffer)
  	buf.ReadFrom(r)
  	s := buf.String()
  
  	//first parse the hcl file
  	obj, err := hcl.Parse(s)
  	if err != nil {
  		return err
  	}
  
  	h.values = make(map[string]interface{})
  
  	// then decode the object
  	if err = hcl.DecodeObject(&h.values, obj); err != nil {
  		return err
  	}
  
  	return nil
  }
docs: // Setup initializes the HCL Checker