explain multi vs single pass approaches