issue #13 : enable lazy evaluation of functions