encapsulated logic*