throw instead of write-error