add context manager上下文管理器