code encapsulation