split up processing