worked on batch routines