encapsulate attributes