add many bug fix