reworked exceptions, errors, etc