Basic implementation of the pipe