update
resolved conflict
add some exception