decorate f compatible with decorators1