fix bug and some little change