complite voice func