fixed isEmpty