main pipe interface modified