Add source code and .gitignore