Reroll of #5

- Rebased on top of latest master
- Rewording of some commit message
- Take out .gitignore stuff
- Removed 3rd commit in original branch
- Removed last commit in original branch

cc: @simkimsia