forked from: Chapter 34 Example 14

party version lulz