change exception and improve some language