[factorymethod.go](factorymethod.go.md) [factorymethod_test.go](factorymethod_test.go.md)