prefactor to support merge