added error info to headers.  not all clients can easily get to actuall data payloads when returning status code != 200
better error handling