update architecture
update README.md
add .gitignore
add .gitignore