cleanup needs to be aware of change