fix many bug