Fix bugs, add new UT case