rounded out the rest of the chapter;
ToDo: some decent test cases;