implementing excep
merge