Should add some negative tests - nothing is checking expected failure cases.