update dependencies;fix code and readme;add .gitignore