optimize design
Add .gitignore file