add gitignore
add unittests