improve AutoClose
always use * register