documentation (almost finished)