Trying to modularize
Add .gitignore