exception is thrown no need to throw