a gmcp fix and a little better error handling