catch more errors, improved message