Some changes in code

1. Refactor code and comments
2. Add gitignore file
3. Add note to README.md
> Please do not use tabs, use 4 spaces for 1 tabs