added a higher order function we might need later