Merge pull request #4 from fantasticfears/master

some fixs
add if test
add test files
Merge remote-tracking branch 'upstream/master'
add string def