fix some bug ,long way to go