add test case for walk and refactor