proper support for unicode; better messages for CMML parsing failures