Separate type-specific update routines