fix a bug and add gitignore