docs and comments