change file name
add some code for test and exception