order of evaluation function