write by Zach.J
update .gitignore