trying high order functions.