add tests
update .gitignore