More documentation (even private functions!)