+1 use docstrings when possible