learn pipeline