many bug fixed