merge with trunk

merge with trunk.
content about #25 .