construct param reduce