array of pointer, each must be a new record