diff --git a/.gitignore b/.gitignore
index e301e5c..9c73dc2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,8 +58,12 @@ vendor
 !cdeps/mac/libpng.a
 !cdeps/mac/amd/libpng.a
 !cdeps/mac/m1/libpng.a
+# 
 !cdeps/win32/libpng.a
 !cdeps/win64/libpng.a
+!cdeps/win/amd/win32/libpng.a
+!cdeps/win/amd/win64/libpng.a
+!cdeps/win/arm/libpng.a
 #
 *.la
 *.lo
diff --git a/base/png_io_c.h b/base/png_io_c.h
index 5aab25f..9609e28 100644
--- a/base/png_io_c.h
+++ b/base/png_io_c.h
@@ -7,9 +7,9 @@
 	#include <png.h>
 #elif defined(IS_WINDOWS)
 	#if defined (__x86_64__)
-		#include "../cdeps/win64/png.h"
+		#include "../cdeps/win/amd/win64/png.h"
 	#else
-		#include "../cdeps/win32/png.h"
+		#include "../cdeps/win/amd/win32/png.h"
 	#endif
 #endif
 
diff --git a/cdeps/win32/libpng.a b/cdeps/win/amd/win32/libpng.a
similarity index 100%
rename from cdeps/win32/libpng.a
rename to cdeps/win/amd/win32/libpng.a
diff --git a/cdeps/win32/png.h b/cdeps/win/amd/win32/png.h
similarity index 100%
rename from cdeps/win32/png.h
rename to cdeps/win/amd/win32/png.h
diff --git a/cdeps/win32/pngconf.h b/cdeps/win/amd/win32/pngconf.h
similarity index 100%
rename from cdeps/win32/pngconf.h
rename to cdeps/win/amd/win32/pngconf.h
diff --git a/cdeps/win32/pnglibconf.h b/cdeps/win/amd/win32/pnglibconf.h
similarity index 100%
rename from cdeps/win32/pnglibconf.h
rename to cdeps/win/amd/win32/pnglibconf.h
diff --git a/cdeps/win32/zconf.h b/cdeps/win/amd/win32/zconf.h
similarity index 100%
rename from cdeps/win32/zconf.h
rename to cdeps/win/amd/win32/zconf.h
diff --git a/cdeps/win32/zlib.h b/cdeps/win/amd/win32/zlib.h
similarity index 100%
rename from cdeps/win32/zlib.h
rename to cdeps/win/amd/win32/zlib.h
diff --git a/cdeps/win64/libpng.a b/cdeps/win/amd/win64/libpng.a
similarity index 100%
rename from cdeps/win64/libpng.a
rename to cdeps/win/amd/win64/libpng.a
diff --git a/cdeps/win64/png.h b/cdeps/win/amd/win64/png.h
similarity index 100%
rename from cdeps/win64/png.h
rename to cdeps/win/amd/win64/png.h
diff --git a/cdeps/win64/pngconf.h b/cdeps/win/amd/win64/pngconf.h
similarity index 100%
rename from cdeps/win64/pngconf.h
rename to cdeps/win/amd/win64/pngconf.h
diff --git a/cdeps/win64/pnglibconf.h b/cdeps/win/amd/win64/pnglibconf.h
similarity index 100%
rename from cdeps/win64/pnglibconf.h
rename to cdeps/win/amd/win64/pnglibconf.h
diff --git a/cdeps/win64/zconf.h b/cdeps/win/amd/win64/zconf.h
similarity index 100%
rename from cdeps/win64/zconf.h
rename to cdeps/win/amd/win64/zconf.h
diff --git a/cdeps/win64/zlib.h b/cdeps/win/amd/win64/zlib.h
similarity index 100%
rename from cdeps/win64/zlib.h
rename to cdeps/win/amd/win64/zlib.h
diff --git a/robotgo.go b/robotgo.go
index 873ff69..861119b 100644
--- a/robotgo.go
+++ b/robotgo.go
@@ -37,8 +37,9 @@ package robotgo
 //#endif
 	// #cgo windows LDFLAGS: -lgdi32 -luser32 -lpng -lz
 	#cgo windows LDFLAGS: -lgdi32 -luser32
-	#cgo windows,amd64 LDFLAGS: -L${SRCDIR}/cdeps/win64 -lpng -lz
-	#cgo windows,386 LDFLAGS: -L${SRCDIR}/cdeps/win32 -lpng -lz
+	#cgo windows,amd64 LDFLAGS: -L${SRCDIR}/cdeps/win/amd/win64 -lpng -lz
+	#cgo windows,386 LDFLAGS: -L${SRCDIR}/cdeps/win/amd/win32 -lpng -lz
+	#cgo windows,arm64 LDFLAGS:-L${SRCDIR}/cdeps/win/arm -lpng -lz
 // #include <AppKit/NSEvent.h>
 #include "screen/goScreen.h"
 #include "mouse/goMouse.h"