merge trunk
<p>Functional complete and well-tested