improved utf-8 support