Refactor a bit; add gitignore