completed utf-8 support