added error handling on fetch
big rewrite message flow (see GH comment)