updated docstrings and TODOs