add comment and add return to recursive calls