deprecate gofunctional2