more docs and help function