fix & add test
fix & add test
allow empty batch