avoid allocate new Function1 objects