better errors with toString