fix gitignore
refactor