Could/should this be a lazy val for performance reasons?