refactor RenderBook class