Many improvements.
[ci skip]