3. Isolate the effect of change ( Improve portability)
e.g., HW or OS specific routines
4. Hide Sequences
e.g., if you have two lines of code
read the top of a stack
decrement a stackTop variable
Put those two lines of code into a PopStack() routine
5. Hide Pointer Operations
e.g., isolating them into routines