added full unicode support