update and add some new documentation