Add record and field abstraction