3.9.2. Implementation