bug fixed, final2