HLD VS. LOW-LEVEL ARCHITECTURE : UNDERSTANDING THE CRUCIAL VARIATIONS