feat: add nvm and gvm