Merge canyin_ui to master branch

Just for merge to keep the useful code.