add close func