fix most bug