Rework and update, including examples.