dealing with unicode is a never-ending process