add .gitignore
add tests