return unicode text to avoid UnicodeDecodeError