encapsulated three stuff in other objects