the last condition fails why??