further field refactoring