function-evaluation routine