do refactor most classes and change the encoding type from gbk to utf-8.