changed when and pipe signature