A few adjustments. Lots of documentation. Some tests too