object encapsulation via ownership types 813692