add Close() function