ABS chapter 4

Ready for review.
This isn't quite the same function you used in the first exercise, although functionally it's close enough.