might be worth making this more resilient if the property doesn't exist