more docs and some improvements