This diagram created by Antonis Pilavakis