implement exercises 10-15
Implement exercises 16-21