More unicode; smarter parsing