add logic layer viva and vivat