renamed evaluate_policy to internal_evaluate_policy to avoid compiler confusion