add EMPTY guard