- re-factored exceptions