add path parameter
simplify most _error calls
split exception types