fix bugs and modify gitignore