added ?= to allow variable to be assigned beforehand