customize option for raising exception and version 2 initial commit