evolution and cleanup