some improvement to BatchCreate