add parse pipe func