fix some bugs, current version can pass all data sets