first pass at accepts_batches functionality