refactor fields/ methods