diff --git a/Cargo.toml b/Cargo.toml
index 0659823..157b75f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -27,6 +27,7 @@ once_cell = "1.21.3"
rustc-hash = "2.1.1"
async-trait = "0.1"
regex = "1.12.2"
+titlecase = "3.6.0"
[lints.rust]
unexpected_cfgs = "allow"
diff --git a/src/providers/hqporner.rs b/src/providers/hqporner.rs
index f93ceff..c539f4b 100644
--- a/src/providers/hqporner.rs
+++ b/src/providers/hqporner.rs
@@ -1,16 +1,18 @@
-use crate::util::requester::Requester;
-use crate::{DbPool};
+use crate::DbPool;
use crate::api::ClientVersion;
use crate::providers::Provider;
use crate::status::*;
use crate::util::cache::VideoCache;
+use crate::util::requester::Requester;
use crate::util::time::parse_time_to_seconds;
use crate::videos::{ServerOptions, VideoFormat, VideoItem};
use async_trait::async_trait;
use error_chain::error_chain;
use futures::future::join_all;
use htmlentity::entity::{ICodedDataTrait, decode};
-use std::vec;
+use std::sync::{Arc, RwLock};
+use std::{thread, vec};
+use titlecase::Titlecase;
error_chain! {
foreign_links {
@@ -22,19 +24,107 @@ error_chain! {
#[derive(Debug, Clone)]
pub struct HqpornerProvider {
url: String,
- // stars: Arc").collect::
")
+ .collect::