Expand and improve documentation