HLD DESIGN VS. LOW-LEVEL DESIGN: UNDERSTANDING THE ESSENTIAL DISTINCTIONS