added emptiness conditions