implementing the visitor and id dictionary
adding a 'RecordHelper' for iterating through the fields of a record