fixes #3
return empty when input is empty
add more test scripts