made expressions be created, then evaluated sequentialy, rather than being
evaluated as they come