notes: 1 building abstractions with procedures