use to_owned instead of ~"string"