Merge pull request #1 from liruoko/master

backport from Y repo