improved error reporting, and extras