add .gitignore
finish initial implementation