self encapsulate field