update the article and add test code