batch by steps