update .gitignore
add unit tests