update and exit methods