better init + batching