docstrings and refratoring 2