refactoring vminfo so that internal functions aren't on the prototype