moved exceptions to own file