pipeline framework