change the method name from String to Value, because method named String has specical meaning when working with fmt.Sprintf