some docstrings added