Improve documentation _a lot_