Simplified this logic, still passing unit tests
Removed commented out log
More unit testing coverage
Reorded these functions
Moved more things around, trying to make the code more readable
Added in unit tests that currently fail....just to give an idea of what still needs to be tested