hard first, easy later
Abstractions