HLD VS. LOW-LEVEL DESIGN : GRASPING THE CRUCIAL DIFFERENCES