Big update after too much work offline.