First major improvements (though incomplete) and doc update