refactors handling of accessors