First concatenation draft
First merge working version

Only solves specific instances, but is not too far from becoming a generic solver.