use the builtin ContextDecorator if available