really careful with iniating an empty list