using co-recursive in approximation