identifier can be undef