Convert header to use modules
Fix warnings when using -Weverything