[sw] chapter 5: refine subscription