add close function