Trying to work this out
Completed unit tests