Replaced some returns with Exceptions