invocation needed to remain a def as its evaluation was being done just once.