new integration function introduced