adds gitignore
adds tests, merges in options