Refactored exceptions
wip