ifs and pipes