a  encapsulation class