feat: add nvm