init and use ||= to cache the variable