incremental updates and cleanup