improve documentation and styling