add background batching to other operations, closes #1