make exception catches more specific
error message restructuring