implementation vue principal (main)