update and cleanup
merge