add flag, fix some bugs