use friend class and hide methods