implement human readable error messages