add .gitignore, refine structure