blog on recursive method