take advantage of functions as first class citizens