To do: - [ ] Add test to reach 100% coverage - [x] Add comments in the code - [ ] Add formulas to docstring and polish docstring (add reference).