refactor vmaccess