progress & better error reporting