encapsulate change