Throw more expections and clean up