simplify
much more concise error reporting