accessor refactor