book return tests pass; refactors hashtables into maps and various misc refactorings