refactor fields access