empty is illegal