fix some bug and gets better