isn't ||= sufficient here?