Add .gitignore
Add a few more methods and refactor a little