pipeline static factory method