code is refactored. add gitignore.