Added documentation. (That was the hardest part :-D)