Update and revision.

Update adding recent experience and rewriting some parts to make it more
concise.