adds changelog and proper docstrings