Fix the Exceptions throw and add some coment