use first-of-type to rebuild