only set first_weekday if it hasn't been set yet; add test