update code & README.md