demo code in the book BOP