deal with hasName and modifier