improve encapsulation