add source and demo code, complete README.md