make sure to use unicode(nativestr()) to handle byte string