Take your time, I'm just reviewing bits and pieces as it evolves.

I just skimmed for other examples where we check and throw this exeption but we haven't written tests for them. 

Happy to leave it for now...