refactored access api