implement isEmpty()