Many improvements / fixes.