added hasNames and forceNames