[WIP] code cleanup
add 3 test cases for Filename

fix an issue: filename can not be removed