oops, fix recursion