data encapsulation