added a new challengeEnginge which fixes a problem with optional conditions and fail-feedback items