First take on higher order functions