these handlers are only used in sub-generation