path::resolve ignores empty strings
add fs::realpath