How to write recursive function