update and cleanup
cleanup