Not quite sure if this logic belongs here and maybe should be in the area component?