Flesh out some of the methods, and include more tests.