This seems to imply 3 branches in the code. Can we have 3 corresponding unit tests? - Tim & Mark