diff --git a/Asuro.iso b/Asuro.iso
index f1c102e3..d576dcf7 100644
Binary files a/Asuro.iso and b/Asuro.iso differ
diff --git a/compile.sh b/compile.sh
index 9874764d..da8991f3 100755
--- a/compile.sh
+++ b/compile.sh
@@ -30,7 +30,7 @@ then
 else
 	echo "Compiling FPC Sources..."
 	echo " "
-	fpc -Aelf -gw -n -va -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* src/kernel.pas
+	fpc -Aelf -gw -n -va -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* -Fusrc/driver/net/* src/kernel.pas
 fi
 
 if [ $? -ne 0 ]
diff --git a/lib/drivertypes.ppu b/lib/drivertypes.ppu
index 4df11084..d29b9a8f 100644
Binary files a/lib/drivertypes.ppu and b/lib/drivertypes.ppu differ
diff --git a/lib/eth2.ppu b/lib/eth2.ppu
index 2a81f155..92ef3963 100644
Binary files a/lib/eth2.ppu and b/lib/eth2.ppu differ
diff --git a/lib/ipv4.ppu b/lib/ipv4.ppu
index 80df3344..3880351f 100644
Binary files a/lib/ipv4.ppu and b/lib/ipv4.ppu differ
diff --git a/lib/kernel.ppu b/lib/kernel.ppu
index 2b929945..98ac933f 100644
Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ
diff --git a/lib/libpconsole.a b/lib/libpconsole.a
index 8e91c7a3..d91d3ca7 100644
Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ
diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a
index 17772f39..a73072cc 100644
Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ
diff --git a/lib/libpsystem.a b/lib/libpsystem.a
index 340f4c9e..406ef8af 100644
Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ
diff --git a/lib/net.ppu b/lib/net.ppu
index 8acb5fa3..a00afee7 100644
Binary files a/lib/net.ppu and b/lib/net.ppu differ
diff --git a/lib/nettypes.ppu b/lib/nettypes.ppu
index 2e3f02d0..ab726f12 100644
Binary files a/lib/nettypes.ppu and b/lib/nettypes.ppu differ
diff --git a/lib/netutils.ppu b/lib/netutils.ppu
index 14a193a3..c8a8160f 100644
Binary files a/lib/netutils.ppu and b/lib/netutils.ppu differ
diff --git a/lib/system.o b/lib/system.o
index 44b9c110..eafcb0a5 100644
Binary files a/lib/system.o and b/lib/system.o differ
diff --git a/lib/system.ppu b/lib/system.ppu
index 22e6840f..ceeeca44 100644
Binary files a/lib/system.ppu and b/lib/system.ppu differ
diff --git a/lib/testdriver.ppu b/lib/testdriver.ppu
index a8f32684..e06d7db9 100644
Binary files a/lib/testdriver.ppu and b/lib/testdriver.ppu differ
diff --git a/src/driver/net/nettypes.pas b/src/driver/net/include/nettypes.pas
similarity index 100%
rename from src/driver/net/nettypes.pas
rename to src/driver/net/include/nettypes.pas
diff --git a/src/driver/net/netutils.pas b/src/driver/net/include/netutils.pas
similarity index 100%
rename from src/driver/net/netutils.pas
rename to src/driver/net/include/netutils.pas
diff --git a/src/driver/net/net.pas b/src/driver/net/l1/net.pas
similarity index 100%
rename from src/driver/net/net.pas
rename to src/driver/net/l1/net.pas
diff --git a/src/driver/net/eth2.pas b/src/driver/net/l2/eth2.pas
similarity index 100%
rename from src/driver/net/eth2.pas
rename to src/driver/net/l2/eth2.pas
diff --git a/src/driver/net/arp.pas b/src/driver/net/l3/arp.pas
similarity index 100%
rename from src/driver/net/arp.pas
rename to src/driver/net/l3/arp.pas
diff --git a/src/driver/net/icmp.pas b/src/driver/net/l3/icmp.pas
similarity index 100%
rename from src/driver/net/icmp.pas
rename to src/driver/net/l3/icmp.pas
diff --git a/src/driver/net/ipv4.pas b/src/driver/net/l3/ipv4.pas
similarity index 100%
rename from src/driver/net/ipv4.pas
rename to src/driver/net/l3/ipv4.pas
diff --git a/src/driver/net/tcp.pas b/src/driver/net/l4/tcp.pas
similarity index 100%
rename from src/driver/net/tcp.pas
rename to src/driver/net/l4/tcp.pas
diff --git a/src/driver/net/udp.pas b/src/driver/net/l4/udp.pas
similarity index 100%
rename from src/driver/net/udp.pas
rename to src/driver/net/l4/udp.pas