add docstrings; set defaults