add cleanup method