add cleanup method, call from associate