add .gitignore
refactoring