Use a lazy val so we generate allFields once only