some recursion of utility