add dump method
add testcases