pipeline + extract method