variable function (as service)