add sequential processing