piping mechanism seems to work