evaluate functions once