bug fixed, can run at this commit