Use function factories
renamed