improve internal documentation and add help strings to arguments