added UTF-8 support