refactored field_names external implementation