saved values to avoid repeat evaluation