added matrix job support