Improve documentation

This is a work in progress