add __del__ function