restructure and converted to unicode
fixed unicode compatibility