better differentiation between exceptions