fix bugs and finish syn