HLD VS. LOW-LEVEL DESIGN : A FUNDAMENTAL DISTINCTION