stage-by-stage approach