use afterEvaluate for task definition