add Pipeline implementation