internal_data encapsulation