diff --git a/Cargo.toml b/Cargo.toml
index 42e9836..a34cc40 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -55,7 +55,7 @@ unsafe_code = "deny"
[workspace.lints.clippy]
pedantic = { level = "deny", priority = -1 }
allow_attributes = "deny"
-as_conversions = "forbid"
+as_conversions = "deny"
as_underscore = "forbid"
assertions_on_result_states = "deny"
big_endian_bytes = "forbid"
diff --git a/src/function/version.rs b/src/function/version.rs
index 8ff56a9..336451d 100644
--- a/src/function/version.rs
+++ b/src/function/version.rs
@@ -1,3 +1,5 @@
+mod pe;
+
use std::cmp::Ordering;
use std::path::Path;
@@ -5,6 +7,7 @@ use pelite::resources::version_info::VersionInfo;
use pelite::resources::{FindError, Resources};
use crate::error::Error;
+use pe::{read_file_version, read_pe_version, read_product_version};
#[derive(Clone, Debug)]
enum ReleaseId {
@@ -110,7 +113,9 @@ pub(super) struct Version {
impl Version {
pub(super) fn read_file_version(file_path: &Path) -> Result