updated the documentation and all