add option to specify batch size