avoid lookup by utilizing getOrElseUpdate return