implemented book model