handle unicode characters

this is an alternate solution to handle #11
with tests