add some documentation and changes some signatures

(0) -300 -100 -30 -10 -1 +1 +10 +30 +100 +300 tip

mercurial