update client code
add .gitignore