moving to lazy object style code