Interface to be refactored, breaks when total is not correct
The code works now and tests pass, but still needs to be refactored