comment for recursive function