Add .gitignore
Add source files
Add tests