fixed isEmpty()