encapsulate in method