always use unicode internally