refactoring + .gitignore