refactored get_field definition