THE 4 STAGES OF PROGRAM BUILDING