add unicode support and accompanying test