refactor exception
refactor exception and merge
merge