section 8.2.1 - added first impl - all new methods are private (they are not needed by any other component yet)