8.1-before
refactor
self encapsulate field