added combine function