Refactoring
Removing old TODO comments and refactoring
Updated tests
Updating documentation