finish fix bugs