fix some bug but still can't work