Added gitignore
Added reporting of changes and some internal refactoring