Update the documentation, mainly from the github wiki docs