batch framework