ifstmt recursion