reworked exception system again, improved javadoc and edited