Example 5.3 - custom shapes