add a working pipeline file parser (finally)