finished the code test and make a PR