add tests
add .gitignore