refactored to reduce method complexity in field view