add docs to all functions