Update and improve documentation