fix some bug nearly finish 2