traditional batch processing methods