refactored field types