completed book class using TDD