work on pipe interfaces