address most of the PR comments, except for what to do with exceptions in outputSchema