synced with book version