split off combinator code into source file bcombine.c