gitignore changes
to include intellij project files
refactoring and comments