Seriously improve documentation