HIGH-LEVEL DESIGN VS. LOW-LEVEL DESIGN : THE IMPORTANT DISTINCTIONS