Added lots of docs.