consistent isEmpty method