pipe input