Added source code, updated .gitignore