:var is not optional; added docstrings