cleanup, update equals